3

有时我发现我正在处理一个分支,我想将分支中的所有更改合并到我的 master 分支中,以便 master 是我刚刚使用的分支的克隆必不可少的。是否有一种简单的方法来更新 master,以便分支中的所有更改都合并到 master 中。我正在寻找的行为是 master 将成为分支的精确克隆。我通常一次将单个冲突合并到 master 中,但是有没有更简单的方法来做到这一点?谢谢你的时间。

4

2 回答 2

1

如果要保留历史记录,请使用ours合并策略:

git checkout branch
git merge -s ours master

如果您不关心主分支的历史记录,请将其重置:

git checkout master
git reset --hard branch

(这将丢弃您所有的本地更改,并使 master 的提交无法访问!)

如果您的 master 中没有任何不在您的分支中的提交,您可以将 master 快速转发到您的分支:

git checkout branch
git merge master
# or `git merge --ff-only master` to only allow fast-forward
于 2012-05-27T15:48:02.280 回答
1

git reset --hard使用您想成为新主管的提交的 ID 应该是您的解决方案。

http://git-scm.com/2011/07/11/reset.html

编辑:我会在重复时标记它: 如何从另一个分支完全替换 git 中的主分支?

查看我提到的副本中的解决方案。但根据所需的结果,我建议的重置可能是解决方案。

于 2012-05-27T15:42:41.857 回答