git reset & git revert

reset

refer 有讲解有例子,比较详细

  • –soft
    只修改HEAD指针 (版本库回退)
    常用来撤销某commit,但是又不撤销该提交包含的更改(working tree 还保留)

  • –mixed
    修改HEAD指针
    修改index区(缓存区)和目标commit一致

  • –hard
    彻底丢失该commit之后的所有(working tree 和index 都清空了)。常用来修改提交分支,可以参照阮一峰最后举的例子

使用举例
不小心将文件删除/修改/创建了然后提交到暂存区,然后想要撤销该delete/modification/creation的add记录:

git reset HEAD <fileName>

另一个方法仅适用于不小心将文件修改了提交,可以使用git rm --cached,whose usage可以参考hesy:git diff, git checkout, git rm
如果在上述基础上不想要保留文件的修改,可以git rm之后,再接着使用git checkout – <fileName>
记一个方法就好啦,记那么多太累了= = 就用git reset

revert

猜你喜欢

转载自blog.csdn.net/Hesy_H/article/details/113977759