【问题标题】:merge from one branch to the other using git使用 git 从一个分支合并到另一个分支
【发布时间】:2016-06-02 08:14:07
【问题描述】:

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

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

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

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

【问题讨论】:

  • “手动”是什么意思?您在寻找 Gitlab 解决方案吗?
  • 我的意思是我只是将代码从一个分支复制粘贴到另一个分支然后提交推送,如何使用 git 命令来做到这一点?
  • 听起来不太好。看看我下面的答案。

标签: git merge gitlab


【解决方案1】:

由于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

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

【讨论】:

  • 是否有一些 ui 工具可以帮助解决冲突?
  • 如果您使用的是 Eclipse 或 IntelliJ,这些 IDE 的 Git 插件具有合并解析工具。但是,在大多数情况下,我个人更喜欢手动解决。只需查找 <<<===>>> 标记,然后选择您要使用的代码版本。
  • 我使用AndroidStudion(基于IntelijIdea)和使用Xcode
  • 谢谢。我在 xcode 中找到了“合并到分支”和“从分支合并”,我也在 AndroidStudion 中找到了“合并..”选项。谢谢
  • 听起来 Android Studio 已经加载了一个插件。但如果你想看看有哪些插件,请关注this link
【解决方案2】:

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

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

git cherry-pick <commit-hash>

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

另一个选择是合并两个不同的分支是使用图形合并工具,如 git difftoolmeld。这样的事情会为两个分支之间不同的所有文件打开一个图形界面:

git checkout version_1_3
git difftool version_1_2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2013-02-21
    • 2021-01-04
    • 2010-12-15
    相关资源
    最近更新 更多