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