如何将合并分支从主分支(Github)中取出?

时间:2013-05-12 19:48:59

标签: ruby-on-rails-3 git git-branch

我在我的Rails应用程序中的一个分支上工作,提交并将其合并到我的主人中,因为我对所有内容感到满意,但现在我想再次取出该分支并放弃这些更改。

现在我将分支与主分区合并是可能还是太晚了?

由于

2 个答案:

答案 0 :(得分:1)

你可以做git reset。如果它只是最近的本地合并,这很好。

如果您已经将合并推送到某个地方,或者您有更多提交,那么这不是一个好主意。相反,你必须接受你的合并并做一个干净的git revert。这样,历史记录仍包含合并,但恢复将撤消合并的效果。

答案 1 :(得分:1)

将提交推送到中心位置后,最好不要以任何方式修改它们。

另一种方法是生成反向提交。也就是说,提交撤消先前提交中的所有更改。一种方法是git-revert。假设您已合并了提交<sha2><sha3><sha4>,您可以:

git revert <sha4>
git revert <sha3>
git revert <sha2>

如果您想在一次提交中恢复所有更改,请尝试使用--no-commit选项:

git revert --no-commit <sha4>
git revert --no-commit <sha3>
git revert --no-commit <sha2>
git commit -m "Undid feature merge"

生成单个反向提交的另一种方法是git checkout

git checkout -f <sha2>
git commit -a -m "Undid feature merge"