合并分支到掌握所有变化?

时间:2012-05-27 15:38:16

标签: git merge

我有时会发现我正在分支机构工作,我希望将所有更改从分支合并到我的主分支中,这样主机就是我正在使用的分支的克隆。是否有一种简单的方法来更新master,以便将来自分支的所有更改合并到主服务器中。我正在寻找的行为是master将成为分支的精确克隆。我通常将个别冲突一次一个地合并为主人,但是有更简单的方法吗?谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

带有您希望成为新主人的提交ID的

git reset --hard应该是您的解决方案。

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

编辑:我会将其标记为重复: How to replace master branch in git, entirely, from another branch?

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

答案 1 :(得分: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