使用 git 从一个分支合并到另一个分支

merge from one branch to the other using git

我不擅长git。我需要你的帮助。 我同时在两个分支上开发。我有分支 1- version_1_2, branch2-version1_3

1.3 版比 1.2 版有更多的功能。

有时,在修复错误后,我会在 1.2 中添加一些更改,并且我需要在 1.3 上进行这些更改。现在我是手动做的,这不是最好的方法。

如何将相同的更改从版本 1.2 更新到 1.3(附加功能应保留在 1.3 上)

由于 1.3 分支应该已经包括 1.2 分支的所有功能,减去错误修复工作,这里一个简单的选择是将 1.2 合并到 1.3:

git checkout branch-1_3    # switch to the 1.3 branch
git merge branch-1_2       # merge the 1.2 branch into 1.3

某些文件中可能存在合并冲突,您必须手动解决。

如果您想将分支 version_1_2 中的所有内容合并到 version_1_3 中,您可以签出 version_1_3 并简单地合并 version_1_2,如 Tim Biegeleisen[= 所回答14=]

如果您只想将特定提交从一个分支合并到另一个分支,而不合并所有内容。您可以使用 git cherry-pick:

git cherry-pick <commit-hash>

您可以通过检查并键入以下内容来找到分支 1.2 中每个提交的提交哈希: git 日志 另一种选择是使用 gitk 和 gitg (sudo apt-get install gitk gitg) 之类的工具来查看提交哈希。

合并两个不同分支的另一种选择是使用像 git difftool or meld 这样的图形合并工具。像这样的东西会为两个分支之间所有不同的文件打开一个图形界面:

git checkout version_1_3
git difftool version_1_2