# Git 常用命令
# 创建版本库
git clone <url> #克隆远程版本库
git init #初始化本地版本库
1
2
2
# 修改和提交
git status #查看状态
git diff #查看变更内容
git add . #跟踪所有改动过的文件
git add <file> #跟踪指定的文件
git mv <old> <new> #文件改名
git rm <file> #删除文件
git rm --cached <file> #停止跟踪文件但不删除
git commit -m "commit message" #提交所有更新过的文件
git commit --amend #修改最后一次提交
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 查看提交历史
git log #查看提交历史
git log -p <file> #查看指定文件的提交历史
git blame <file> #以列表方式查看指定文件的提交历史
1
2
3
2
3
# 撤销
git reset --hard HEAD #撤消工作目录中所有未提交
git checkout HEAD <file> #撤消指定的未提交文件的修改内容
git revert <commit> #撤消指定的提交
git merge --abort #取消合并
git reset --soft HEAD^1 #取消最后提交的一个commit,//注意:unix,--soft:commit的变更恢复到待提交状态,--hard:commit的变更丢失
git reset --soft HEAD~1 #取消最后提交的一个commit,//windows的bash
1
2
3
4
5
6
2
3
4
5
6
# 分支与标签
git branch #显示所有本地分支
git branch -r #显示所有远程分支
git checkout <branch/tag> #切换到指定分支或标签
git branch <new-branch> #创建新分支
git branch -d <branch> #删除本地分支
git tag #列出所有本地标签
git tag <tagname> #基于最新提交创建标签
git tag -d <tagname> #删除标签
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 合并
git merge <branch> #合并指定分支到当前分支
git rebase <branch> #复位指定分支到当前分支
1
2
2
# 远程操作
git remote -v #查看远程版本库信息
git remote show <remote> #查看指定远程版本库信息
git remote add <remote> <url> #添加远程版本库
git fetch <remote> #从远程库获取代码
git pull <remote> <branch> #下载代码及快速合并
git push <remote> <branch> #上传代码及快速合并
git push -f origin <branch> #强制推送到远程分支
git push <remote> :<branch/tag-name> #删除远程分支或标签
git push --tags #上传所有标签
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 保存工作现场
git stash #保存工作现场
git stash save "Your stash message" #保存工作现场,带备注信息
git stash list #查看工作现场列表
git stash apply #恢复工作现场,stash内容并不删除,需要用git stash drop来删除
git stash pop #恢复最近一个工作现场,同时把stash内容也删了
git stash pop --index n #恢复索引号为 n 的工作现场,同时把stash内容也删了
1
2
3
4
5
6
2
3
4
5
6
# 设置名称、邮箱
git config --list #查看配置列表
git config user.name #查看用户名称
git config user.email #查看用户邮箱
git config --global user.name "nameVal" #设置用户名称
git config --global user.email "eamil@qq.com" #设置用户邮箱
1
2
3
4
5
2
3
4
5