需求场景
在使用git过程中,往往需要回到某个commit,并且抛弃之后的修改。
这个时候往往会采用以下错误方式回退。
git reset --hard commitid
git push -f
-f这个参数是非常不友好的,会导致其他小伙伴无法push
解决方案
假设我们需要从D回到B状态
A --- B --- C --- D(HEAD)
git reset --hard B
git reset --soft D
git push
最终的结果
A --- B --- C --- D --- B'(HEAD)