git reset
命令是直接在某个分支上,回退到指定的commit,后边的提交不会在版本库的历史中(只能使用reflog
查看) 。因而和老的branch再次merge时,这些被回滚的commit应该还会被引入 。通过以上对比可以发现,git reset
命令与 git revert
命令最大的差别就在于,git reset
命令会失去后面的提交,而 git revert
命令是通过反做的方式重新创建一个新的提交,而保留原有的提交 。在企业里,应尽量使用 git revert
命令,能不用 git reset
命令尽量不用 。
参考:
- http://blog.itpub.net/31524109/viewspace-2653118/
- https://www.talktocomputer.site/blogs/83/