哪个承诺在git commit时使用?

时间:2017-03-30 03:40:33

标签: git

例如,在开始时,master位于commit01,这没关系,然后我将包含2次提交的branch001合并到master,然后成为:< / p>

commit04 Merge branch001 into master
commit03 commit from branch001
commit02 commit from branch001
commit01 master commit

然后我发现branch001中存在一个大错误,所以我想回到commit01,如果我使用git revert,我应该使用哪个提交?

2 个答案:

答案 0 :(得分:0)

如果你git revert commit04,它将恢复对合并执行的主分支的所有更改。

如果你还没有把它推到遥控器上,你可以运行git reset --hard commit01将你的工作树恢复到commit01的状态并擦除commits02-4。

答案 1 :(得分:0)

如果你没有推动你的主人,那么用 origin / master 重置 local / master

$ git fetch
$ git reset --hard origin/master

如果已经推送,则恢复您的合并提交(提交消息,如Merge branch 'branch-name' of ...

$ git log                  # copy the merge-commit-hash
$ git revert <commit-hash> # revert merge commit

$ git push origin HEAD     # push to origin master