TIPS
Git学习笔记
# 配置Git
# print working directory 打印工作目录
pwd
# 查看git配置文件
git config --list
# 设置用户名
git config --global user.name ""
# 设置用户邮箱
git config --global user.email ""
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 常用命令
# 删除所有文件包括文件夹
rm -rf xxx
# 不会删除文件夹
rm xxx
# 创建目录
mkdir 文件夹名字
# 进入文件夹
cd change directory
# 显示当前目录下的文件
ls
# 显示所有文件, 包括隐藏文件
ls -al
# 创建文件
touch 文件名
# 查看文件内容
cat 文件名
# 编辑文件
vi 文件名
# i: 插入模式
# esc: 退出编辑模式
# :q! 强制退出
# :wq 保存并退出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Git操作
初始化git
# 告诉那个文件夹被git管理, 出现 master # 一个项目初始化一次, 不能嵌套 git init1
2
3提交
# 查看git状态 git status # 把所有文件提交到暂存区, 或者加文件名提交特定的文件 git add . 或者 -A # 删除暂存区 git rm --cached 文件名 # 暂存区提交到历史版本库 git commit -m "消息" # 比较(默认工作区和暂存区比较) git diff # 工作区和历史区比较, master为分支名称 git diff master # 暂存区和历史区比较 git diff --cached1
2
3
4
5
6
7
8
9
10
11
12
13
14撤销
# 从暂存区中将工作区内容覆盖掉 git checkout 文件名 # 回到上一次git add操作得到的内容 git reset HEAD 文件名 # 直接从工作区提交到历史区(前提是已经提交过一次) git commit -a -m "消息" # 查看版本提交日志, 当前所在版本之前的日志 git log # 查看所有日志, 无论所在什么版本 git reflog # 历史区版本的穿越, 回滚历史区版本 git reset --hard 版本号1
2
3
4
5
6
7
8
9
10
11
12分支
# 必须提交过一次才会有分支 # 查看分支 git branch # 创建分支 git branch 分支名 # 切换到某个分支 git checkout 分支名 # 删除分支 删除是不能在这条分支 git branch -D 分支名 # 创建并切换到分支 git checkout -b 分支名 # 文件修改时切换分支 # 暂存文件 git stash # 分支有更改时不能切换分支, 要么暂存要么提交, 但是这个是使用暂存区直接覆盖工作区, 再次切换回来就没了 # 还原暂存的内容 git stash pop1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18合并
# 合并分支 git merge 分支名 # 如果有冲突时, 只能手动解决, 留下想要的结果, 并再次提交 # 输入文件内容, 如果没有文件, 则自动创建并输入 echo "内容" >> 文件名1
2
3
4
5提交到github
- 本地提交: READEME.md
- 创建一个 .gitignore 忽略提交的文件
不会上传空文件夹(可以在空文件夹里添加 .gitkeep 文件保持)
关联远程仓库 git remote add origin(地址别名, 任意) https://github.com/fengchunqi/xxx.git 查看关联 git remote -v 删除关联 git remote rm 名字(origin) 推送代码 git push origin master 拉取代码 git pull origin master1
2
3
4
5
6
7
8
9
10发布
gh-pages, 分支来发布我们的静态效果图
在项目中创建一个gh-pages的分支
将分支提供到线上仓库
找到提供给你的网址 setting github-pages
git checkout -b gh-pages touch index.html git add . git commit -m '' git push origin gh-pages1
2
3
4
5
其他
- issue 提交对项目的问题
- 更改别人的代码: 先fork别人的代码, 本地更改, 然后向对方发送request请求
- 拉取代码: git clone -b 分支名 地址 新名字 克隆代码到本地