使用 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
我不擅长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