git提交时要使用哪个提交?
例如,在开始时,git提交时要使用哪个提交?,git,Git,例如,在开始时,master在commit01中,这是正常的,然后我将包含2个提交的branch001合并到master,然后变成: commit04 Merge branch001 into master commit03 commit from branch001 commit02 commit from branch001 commit01 master commit 然后我发现branch001中有一个很大的bug,所以我想回到commit01,如果我使用git revert,我应该使
master
在commit01
中,这是正常的,然后我将包含2个提交的branch001
合并到master
,然后变成:
commit04 Merge branch001 into master
commit03 commit from branch001
commit02 commit from branch001
commit01 master commit
然后我发现
branch001
中有一个很大的bug,所以我想回到commit01
,如果我使用git revert
,我应该使用哪个提交?如果你使用git revert commit04,它会将合并执行的所有更改还原到主分支
如果您还没有将其推送到远程,您可以运行git reset--hard commit01将工作树恢复到commit01的状态,并删除commits02-4。如果您没有推送到主节点,则使用origin/master重置local/master 如果已经推送,则恢复合并提交(提交消息,如…<代码>合并分支'分支名称')
$git log#复制合并提交散列
$git revert#revert merge commit
$git推送原点头#推送至原点主控
还原合并提交。如果commit04不是合并提交而是正常提交,这是否意味着我必须分别还原commit04
和commit03
和commit02
?
$ git fetch
$ git reset --hard origin/master
$ git log # copy the merge-commit-hash
$ git revert <commit-hash> # revert merge commit
$ git push origin HEAD # push to origin master