如何将分支(或指定的提交)移动到另一个分支?

问题描述:

我从master创建了一个分支,并在分支上提交了2个提交。如何将分支(或指定的提交)移动到另一个分支?

现在我需要将分支合并回主,不知何故主已经改变了,我将合并更多的提交到主,而不仅仅是我的2提交。

这里最好的解决方案是什么? 我可以将分支(带有2个提交)移动到新的主控中吗?我的意思是,如果我想合并成主人,我应该只提交2次提交。我希望我所做的事不会影响在同一个存储库上工作的其他人。

我试着混帐底垫中,但它与许多提交的不仅仅是这些2.

+0

'git merge --help' – hjpotter92 2014-11-01 08:46:39

食堂如果你不打算完全合并你的分支掌握,而是需要对主这两个提交,你可以尝试摘樱桃。

请参阅“How to cherry pick a range of commits and merge into another branch”和git cherry-pick man page

已在“Is it possible to exclude specific commits when doing a git merge?

x----x-----x---x---master 
     \ 
     `--x---x--your branch 

中详述的其他选项(即使使用git merge)如果这是你的状态,那么这是你的选择:

  1. 樱桃挑提交您的分支到主人
  2. 将您的分支重新分配到主人然后合并主人
  3. 将您的分支合并到主人。

不管你做什么,一旦你推动了你的改变,其他人从你推送到的同一个仓库中获取所有必要的提交。

当你尝试重新绑定时,那不是Git“搞乱了许多提交”。你可能遇到的是需要解决的冲突。 Git只会在master的顶端创建两个新的提交,并不是很多。

如果您对rebase不满意,我会建议将您的分支合并到master中。这是最安全的操作,因为它不涉及重新计算提交。你仍然会发生冲突,但无论你采用哪条路线,你都必须解决它们。