使用Git合并远程更改时修改开源项目

时间:2012-10-16 03:46:21

标签: git

我让git克隆了MapBox-ios-sdk项目。我对代码做了一些丑陋的黑客修改,这些修改不适合回馈。但MapBox-ios-sdk最近发生了变化。如果我想将他们最新的更改合并到我的项目中,同时仍然保持我的hack,那么使用Git做这件事的最佳做法是什么?克隆时我最初应该分支吗?或者我应该只在主分支中进行修改,只需从官方源代码中获取并解决冲突,并将其保留在未来的sdk版本中吗?

2 个答案:

答案 0 :(得分:1)

我将假设您的黑客已经致力于您当地的master分支机构。您可以通过执行以下操作将其移动到分支:

git branch -m master myhack
git branch myhack^ master

这将为您提供一个myhack分支,其中包含一个提交(如果有多个提交,则调整myhack^),以及与原始主服务器匹配的master分支该项目。

此时,您可以将新代码拉入本地master分支而不会发生冲突。然后,切换到您的myhack分支并合并新主服务器:

git checkout myhack
git merge master

答案 1 :(得分:0)

由于您没有先分支,所以您最好的行动方案是您所描述的:在主分支中修改,只需从官方来源获取并解决冲突