2011-06-29 30 views

回答

3

先做2),但前提是你确实需要分支。

git branch changes 

然后做1)使用git revert

最后,通过恢复恢复提交来重做更改。

+0

+1:是的,这比我的想法更清洁。恢复回复。 –

+0

在初始回复之后,当主设备发生更改时,此操作是否仍然有效? –

+0

@Corey Hart:它会按照通常的合并和恢复注意事项:如果受影响的文件在此期间发生更改,您可能必须进行手动编辑。 –

0

假设您已经克隆远程回购和你在master分支,你可以做到以下几点:

做的第二件事第一:

git branch new-branch

然后在还原更改主:

  1. git revert <commit-id-you-want-reverted>(重复每个坏提交)
  2. git push origin HEAD:master

后来,樱桃采摘回:

git cherry-pick <commits-from-new-branch>; git push origin HEAD:master

认为这会工作,但我还没有尝试过自己。因人而异。我认为简单地将变化撤回(没有樱桃采摘)将无法正常工作,因为他们将拥有原始的提交ID,并且git可能知道它不需要将它们拉入...然后再次,也许用一个新的它头将工作。试试吧,看看:)