0%

Git常用命令

基础命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
git commit --amend #合并并修改上次提交

git tag v1.0.0
git tag -a v1.0.0 -m "Release version 1.0.0" HEAD

git push origin {标签名}
git push origin --tags

git branch -D master #删除master分支
git branch -m master #重新命名当前独立分支为 master

git log --oneline --graph --all -5 #查看所有分支的图形记录的前5条

git merge branchName #合并branchName分支到当前分支
git merge branchName -Xignore-space-change whitespace #合并branchName分支到当前分支并忽略空白符

git fetch origin master:temp #从远程的origin仓库的master分支下载到本地并新建一个分支temp
git diff temp #比较master分支和temp分支的不同

版本回退

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
git reset --soft HEAD~3 #文件不会被修改,后三次提交被 git add 添加到暂存区,相当于只撤销了 git commit
git reset --mixed HEAD~3 #文件不会被修改,但后三次提交没有添加到暂存区, 回退到工作区
git reset --hard HEAD~3 #文件会被回退到 HEAD~3 时的状态

git revert #撤销一个提交的同时会创建一个新的提交
git revert HEAD~2 #会创建一个新的提交来撤销前两个提交的更改,然后把新的提交加入提交历史

#git revert 可以用在公共分支上,git reset 应该用在私有分支上。
#也可以把 git revert 用作撤销已经 push 的更改
#而 git reset 用来撤销已经 commit 但没有 push 的更改#
#或者 git reset HEAD 撤销没有 commit 的更改

#将最近一次提交节点的提交记录回退到工作区
#用于修改上次提交
git reset --mixed HEAD~1 #回退到工作区

#查看可引用的历史版本记录
#用于恢复reset, 直接执行git reset commitId恢复到工作区
git reflog

#将最近一次提交节点的提交记录全部清除
#用于删除上次提交
git reset --hard HEAD^ #删除

#rebase可精简commit
git rebase -i HEAD~n