使用 GIT 升级修改后的模块

upgrade a revised module using GIT

我在我的项目中使用了一个开源库。但是根据我的要求,我对开源库的很多部分代码进行了修改。
现在,有新版本的开源库,我想将我所做的更改合并到新版本的开源库中。

由于我可能需要对源代码进行更多的更改,并且会有下一个版本的库,我认为最好有一个半自动的方式来合并。

你应该有一个项目的分支并在你自己的分支上工作。
新版本发布后,您将能够(如果有的话,在解决冲突后)将其合并到您的帐户中。

首先,您可以在本地克隆 git 存储库并进行更改。

当您准备好将您的更改与新版本的开源库合并时,您可以按照以下步骤操作(假设您正在 master 分支上工作):

# on master branch
git pull origin master --rebase
# If there have conflict files, you can modify/save the files, then use `git add .` and `git rebase --continue`
git push origin master

要自动解决冲突文件,您可以使用-X选项:

git pull origin master --rebase -X theirs,通过保留本地 master 版本解决冲突文件。

git pull origin master --rebase -X ours,保持origin/master版本解决冲突文件。

和之前的许多人一样,您发现虽然创建分叉很容易,但维护分叉可能需要大量工作。

因此请考虑将您的更改贡献回原始 ("upstream") 项目。

上游接受的每个更改都是您永远不会必须再次合并...