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

时间:2016-07-05 14:35:44

标签: git merge

我有多个分支从主服务器分支(每个分支在一个单独的子目录中)。

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

在完成修补程序的测试之前,我想在Branch1中已经提供代码,因此我可以继续开发修复程序。
(但是因为我对git的经验并不是那么多,所以我第一次开始在第三个分支中进行合并,尤其是在我弄乱了Branch1或Branch2之前就已经陷入困境)

在我的第3个分支中,我首先尝试了以下内容:

git merge feature/Branch1

但这会产生以下错误:

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

我接下来在我的Branch1中做了一次提交-a并再次尝试,但它一直给出同样的错误。

我做错了什么?我该怎么做才能合并代码 - 在这种情况下 - Branch1与Branch3?

5 个答案:

答案 0 :(得分:138)

首先,结帐到您的Branch3:

git checkout Branch3

然后合并Branch1:

git merge Branch1

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

git checkout Branch2
git rebase Branch1

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

答案 1 :(得分:18)

将一个分支合并到另一个分支,例如将“feature_x”分支合并到“master”分支:

git checkout master

git merge feature_x

这个页面是几个搜索引擎在寻找“git merge one branch into another”时的第一个结果。但是,原始问题比标题所暗示的更具体和特殊。
它也比主题和搜索表达式更复杂。因此,对于大多数访问者而言,这是一个最小但具有解释性的答案。

答案 2 :(得分:10)

  1. git checkout [branchYouWantToReceiveBranch]-您要接收分支的结帐分支
  2. git merge [branchYouWantToMergeIntoBranch]

答案 3 :(得分:6)

以防万一你到达这里是因为你从 Github 复制了一个分支名称,请注意远程分支不会自动也是本地分支,所以合并将不起作用并给出“我们不能合并的东西”错误。< /p>

在这种情况下,您有两个选择:

git checkout [branchYouWantToMergeInto]
git merge origin/[branchYouWantToMerge]

# this creates a local branch
git checkout [branchYouWantToMerge]

git checkout [branchYouWantToMergeInto]
git merge [branchYouWantToMerge]

答案 4 :(得分:0)

你可以使用这个命令

git checkout <the branch you you want to merge in to>

git merge <the branch you want contents from>