在覆盖更改时合并repos

时间:2012-09-17 20:42:32

标签: git github git-merge

我有一个巨大的项目。我被分配重做文件结构,以便它不会驱动我们的开发人员疯狂。这一切都在GitHub中,所以我只是分叉项目并进行了更改。

我已经完成了,现在想把我的更改拉进来。但是,在我进行重组时,我们的其他一些开发人员都致力于主回购。我无法合并,因为我移动的文件已被更改(因此Git认为我删除了它们)。他们 是最新的,只是在新的位置。

如何成功提取重组代码?我唯一的想法是从我的本地仓库中删除所有主代码,然后将新代码复制到它,并从那里进行提交。然而,这让我觉得不好。

更新:According to this question, git mv会有所帮助。但是,所有目录更改都已完成。

1 个答案:

答案 0 :(得分:2)

前几天我们遇到了同样的问题。

以下是我们的所作所为:

  • 将master分支合并到new-features分支

    git checkout new-branch
    git merge master
    
  • 将new-features分支合并到主

    git checkout master
    git merge -s theirs
    

第一个合并是在开发new-features分支时保留在master分支中应用的所有修补程序。与策略选项(-s)的第二个合并是强制保持新功能分支的更改(我们删除并更改大量代码)。

您可以在此主题When would you use the different git merge strategies?

中找到有关合并的更多信息