【问题标题】:Git merge branch into masterGit合并分支到master
【发布时间】:2013-01-14 08:11:26
【问题描述】:

我有一个主分支和一个工作的branch_1。我想将branch_1 完全“移动”到master。所以我想要这样的东西:

git checkout master
git merge branch_1 # I don't know what is correct...

我做过的事情,但我有很多文件被烦人的冲突弄乱了。所以现在 master 包含与branch_1 完全相同的文件,避免任何冲突,只是覆盖文件。 有什么帮助吗?

【问题讨论】:

  • 一种选择是git reset --hard branch_1,但会丢失master 中不与branch_1 共享的所有历史记录。
  • “移动”branch_1 到master 是什么意思?你只想做一个简单的合并吗?在合并中发生冲突并不罕见,因此没有什么特别之处。由于问题是目前写的,不清楚是什么问题。
  • 这能回答你的问题吗? Merge development branch with master

标签: git git-branch git-merge


【解决方案1】:

如果两个分支都对文件进行了更改,就会发生冲突。这是一件好事。 让您的分支机构彼此保持最新状态会阻止其中一些发生 .但总的来说,冲突并不坏。 rebase 选项还可以防止其中许多情况发生。

git merge branch_1

如果你在master,合并将带来你所期望的变化。

http://www.kernel.org/pub/software/scm/git/docs/git-merge.html

你也可以

git rebase branch_1

这将从 branch_1 获取更改并将它们附加到 master 而无需合并提交。

http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html

【讨论】:

    【解决方案2】:

    也许你不应该合并?

    1. 结帐 branch_1
    2. rebase master 更改为 branch_1
    3. 修复测试代码后可能出现的任何错误
    4. 结帐大师
    5. rebase branch_1 更改为 master

    或在代码中:

    git checkout branch_1
    git rebase master
    (...)
    git checkout master
    git rebase branch_1
    

    如果您想使变更集更加密集,并防止历史记录中出现这些烦人的合并提交,这也使您有机会将多个提交压缩为一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 2020-07-16
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      相关资源
      最近更新 更多