对 github上的代码进行二开后,如何同步 github 上原作者的最新代码
我们经常会 fork github 上一些开源代码来为我所用,提交到我们自己的 gitlab,有时我们会该代码进行二开,功能扩展或者是修复 bug。但是原作者同时会维护更新原有代码,我们获取原作者提交的新代码,我们必须做一些同步代码的工作。
场景:
- 代码仓库 A,开源代码
- 代码仓库 B,来自 A,提交到我们自己的 gitlab
- A 更新,B 需要同步的 A 的代码
B:
git checkout master
git remote add upstream A的仓库地址
git fetch upstream
git merge upstream/master
git push
这样即可更新到 A 的新代码,并推送到我们自己的仓库。如果出来fatal: refusing to merge unrelated histories
,是由于提交历史不同造成的,fetch 时使用git fetch upstream --allow-unrelated-histories
。
如果二开的代码修改和原代码更新有冲突,需要解决冲突都可以提交。
本作品采用《CC 协议》,转载必须注明作者和本文链接