Git Merge在不删除其他分支的情况下进行更改

时间:2013-06-03 11:46:22

标签: git git-merge

我搜索了很多,但无法找到一个自信的解决方案(原谅我,因为我是git的新手,也许我没有得到一些好的条款)。所以我会在这里陈述我的确切问题:

  1. 我有一个软件(比如在分支主管中),我刚刚发布了v5.0,然后我创建了一个新分支(比如说5b)来修复分支中出现的所有问题。

  2. 所有新功能都将添加到主分支中。

  3. 现在我必须向某人提供具有新功能的版本,但我也希望获得所有错误修正。

  4. 我的逻辑说我可以从5b中提取所有更改,将其与main合并并进行构建。

  5. 唯一的问题是我想保留该分支5b,以便可以添加其他修复程序。虽然主要是5b的所有变化都应该可用。

    请让我知道如何做到这一点。有点细节的逐步回答将非常有用。

    谢谢,

1 个答案:

答案 0 :(得分:8)

你有一个分支 - 主

你有一个包含bug修复的分支--5b

现在,为了将您的错误修复更改合并到main,

从主分支中获取最新更改:

 git checkout main
 git pull origin main

将主分支中的更改合并到5b分支(5b分支与主分支是最新的):

 git checkout 5b
 git pull origin 5b
 git merge main
 git push origin 5b

将您的5b分支更改合并回main:

 git checkout main
 git merge 5b
 git push origin main

这不会删除您的5b(bug_fixes)分支或主分支。您可以通过这种方式将错误修复分支更改合并为主。