![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1kDNzYTO3gTNtEjN1UDN1QDOwYDM3AjNxAjMtIzM2ADN28CX3AjNxAjMvwlMzYDM0YzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.png)
执行 git add a.txt, git commit -m "a.txt", git push
通过gitk命令查看提交历史如下:
情景:b.txt本来不想提交上去,但是不小心提交上去了,怎么办?
方法1:git reset head~1
方法2:指定回退到具体的提交版本ID
->使用 git log查看提交历史,如下:
->git reset 81375c780e076ed87f1f1d96c88664126aec01cd
最终结果如下:
通过gitk查看提交历史
本地项目变化
方法3:git revert head,用一个新提交来消除一个历史提交所做的任何修改。
通过gitk查看提交历史
相信你通过gitk查看提交历史,就会发现revert和reset的不同了,reset是将head往后退而revert执行后head继续前行。
a.txt和b.txt分别提交并push上去,结果如下:
远程仓库
(1).如果执行reset操作
执行 git reset head~1,结果如下:
然后执行 git pull,结果如下:
(2).如果执行revert操作
执行 git revert head, 结果如下:
然后执行 git pull, 结果如下:
但是远程仓库中还是有 b.txt这个文件的,通过git status查看结果如下:
通过git push 将刚才revert回滚修改的提交 push到远程仓库。最后,保持本地和远程的一致。
本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/5645718.html,如需转载请自行联系原作者