2012-09-17 56 views
2

我有一个巨大的项目。我被分配重做文件结构,以免它驱动我们的开发者疯狂。这一切都在GitHub中,所以我简单地分出了这个项目并做出了改变。覆盖更改合并回购

我已经完成了,现在想拉我的变化回来。但是,我们的一些致力于主回购其他开发者,而我在做我的重组。我无法合并,因为我移动了文件(所以Git认为我删除了它们)。他们最新,只是在一个新的位置。

我怎样才能成功地拉我重组代码?我唯一的想法是从我的本地仓库中删除所有主代码,然后将新代码复制到它,并从那里进行提交。但是,这让我觉得很糟糕。

UPDATE:According to this question,git mv将帮助。但是,所有的目录更改都已经完成。

+0

您只有移动文件吗? – CharlesB

+0

@CharlesB我移动了文件,然后复制了最新版本。 – SomeKittens

+1

检查一下答案[此非常类似的问题(http://stackoverflow.com/q/2701790/11343) – CharlesB

回答

2

我们前几天有同样的问题。

这是我们所做的事情:

  • 合并主分支新的功能分支

    git checkout new-branch 
    git merge master 
    
  • 合并新的功能分支掌握

    git checkout master 
    git merge -s theirs 
    

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

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