【问题标题】:Merge repos while overwriting changes在覆盖更改时合并存储库
【发布时间】:2012-09-10 02:44:58
【问题描述】:

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

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

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

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

【问题讨论】:

标签: git github git-merge


【解决方案1】:

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

这是我们所做的:

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

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

    git checkout master
    git merge -s theirs
    

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

您可以在本主题When would you use the different git merge strategies?中找到有关合并的更多信息

【讨论】:

    猜你喜欢
    • 2012-12-25
    • 2022-10-17
    • 1970-01-01
    • 2014-02-27
    • 2011-09-11
    • 2016-03-23
    • 2010-10-26
    • 2011-08-17
    • 1970-01-01
    相关资源
    最近更新 更多