合并一个本地分支到另一个本地分支


167

我有多个分支从主分支分支出来(每个分支在单独的子目录中)。

  • Branch1:新开发,尚未完全完成
  • Branch2:有问题的修补程序,但仍在测试中
  • Branch3:乱七八糟的分支,我不会恢复

在完成此修补程序的测试之前,我希望分支1中已经提供了代码,因此我可以继续开发该修补程序。
(但是由于我对git的经验并不多,所以我首先开始在第3个分支中进行合并,尤其是在弄乱Branch1或Branch2之前创建并混入)

在我的第三个分支中,我首先尝试了以下方法:

git merge feature/Branch1

但这给出了以下错误:

fatal: 'feature/Branch1' does not point to a commit

接下来,我在Branch1中执行了commit -a,然后再次尝试,但始终出现相同的错误。

我究竟做错了什么?我应该怎么做才能将分支1和分支3中的代码合并在一起?

Answers:


236

首先,结帐至您的Branch3:

git checkout Branch3

然后合并Branch1:

git merge Branch1

而且,如果您想在Branch2上更新Branch1的提交,则可能正在寻找 git rebase

git checkout Branch2
git rebase Branch1

这将使用Branch1的最新更新来更新Branch2。


1
(我希望将Branch2的更新更新为Branch1 ;-))Branch2确实看到了Branch1,但是当我在两个分支中都执行git branch -a时,却没有看到相反的方法。因此,我无法对Branch1中的Branch2进行重新设置:git rebase
Branch2-

当我将rebase作为git rebase origin / Branch2进行重新设置时,它仍然给出该错误消息+无效的上游origin / Branch2
Nemelis '16

1
@ Si8这将仅将来自Branch1的提交添加到Branch3。Branch1将保持不变。
gabra

1
谢谢,因此,如果我当前在Dev分支中,并且我合并了Dev1,它将把Dev1合并到Dev中,对吗?
Si8

1
是。我建议尝试一下。如果出现故障,您可以返回。这就是VCS的目的。
gabra
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.