2

我有一个巨大的项目。我被指派重做文件结构,以免我们的开发人员发疯。这一切都在 GitHub 中,所以我只是分叉了项目并进行了更改。

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

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

更新:根据这个问题, git mv会有所帮助。但是,所有目录更改都已完成。

4

1 回答 1

2

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

这是我们所做的:

  • 将主分支合并到新功能分支

    git checkout new-branch
    git merge master
    
  • 将新功能分支合并到主分支

    git checkout master
    git merge -s theirs
    

第一次合并是在开发新功能分支时将所有修补程序保留在主分支中。与策略选项 (-s) 的第二次合并是强制保留新功能分支中的更改(我们删除并更改了很多代码)。

您可以在本主题中找到有关合并的更多信息何时使用不同的 git 合并策略?

于 2013-03-15T10:37:29.360 回答