30
06月
2020
1.在未暂存前,撤销本地修改
在没有暂存之前(没有执行git add
命令),我们可以通过以下命令查看本地修改
git diff
如果我们不想要这些代码本地代码(比如一些临时的测试代码),可以通过以下命令一次性撤销所有本地修改
git checkout -- .
我们也可以指定具体的文件路径,撤销该文件的修改
git checkout -- [filename]
2.在暂存之后,撤销暂存区的修改
在暂存之后(执行git add
命令之后),想要查看暂存区的修改,可以执行以下命令
git diff --staged
如果这时我们想要一次性撤销暂存区的全部修改,可以执行以下命令(当然也可以撤销暂存区指定文件的修改)
git reset .
3.提交到本地仓库之后(git commit 之后)(但未推送到远程仓库),撤销本次提交
方法一
git checkout(Commit ID)
方法二
git reset --hard HEAD~1
4.修改提交
原本打算修改两个文件,结果只提交了一个文件,但又不想生成两个提交记录(Commit ID),具体执行的命令如下
git add src/app/app.component.css git commit --amend
还有一种场景可能更加常见,没有遗漏的文件,只是提交信息里有一个单词写错了,可以使用以下命令进行修补:
git commit --amend -m "add test container"
--amend修补参数会将改变之前的Commit ID,但不会生成新的Commit ID。
5.撤销提交历史中的某一次指定的提交
如果只想撤销提交历史中的某一次提交,可以使用以下命令撤销该次提交, 并生成一个新的提交在最前面
git revert 711bb0b
6.合并出现冲突时,撤销合并操作
两个分支改了同一个文件的同一个地方,合并时将出现冲突,如果不想解决冲突,想撤销这个合并,可以使用以下命令:
git merge --abort //abort之后,将恢复合并之前的状态。
7.暂存区的文件加多了,想移除,又不想删掉本地的文件
git rm --cached src/test.pptx
8.分支重命名
git br -m [old_br] [new_br]
9.撤销变基操作
将 rebase_test 分支的修改变基到master上:
git co rebase_test git rebase master
撤销的步骤如下:
1.使用 git reflog 命令找到变基前的提交 09b0adc 2.使用 git reset --hard 09b0adc 重置到该提交