我已经分叉了我的主代码,即在 gitlab 上zip/production
创建了一个分叉项目map/production
现在我已经对我的分叉代码库进行了更改,我想以这种方式维护它:
即我不想触及分叉存储库中单独文件中存在的附加代码,但我也对master
代码进行了更新,并希望这反映相同在分叉代码库上,而不影响地图/生产中存在的其他文件和代码。
它类似于分叉的 repo + 附加代码,并且在从主 repo 引入更改时,附加代码应该保持不受影响。
如何解决这个问题?
我已经分叉了我的主代码,即在 gitlab 上zip/production
创建了一个分叉项目map/production
现在我已经对我的分叉代码库进行了更改,我想以这种方式维护它:
即我不想触及分叉存储库中单独文件中存在的附加代码,但我也对master
代码进行了更新,并希望这反映相同在分叉代码库上,而不影响地图/生产中存在的其他文件和代码。
它类似于分叉的 repo + 附加代码,并且在从主 repo 引入更改时,附加代码应该保持不受影响。
如何解决这个问题?
在从主存储库中引入更改时,附加代码应保持不受影响
如果您在其自己的分支中提交该附加代码,就会出现这种情况。
这样,您的 fork 的本地克隆可以将原始存储库添加为远程。
git remote add upstream /url/original/repo
您可以将 master 配置为从该远程提取:
git branch --set-upstream master upstream/master
这也会使 master 推送到上游,这是不可能的,但无论如何你都不应该推送 master:你应该只推送为你的修改创建的分支,而不是可以在原始上游 repo 上更改的现有分支
您可以随时刷新您的 master 分支(使用原始 repo 的内容)
git checkout master
git pull
并且在任何时候,您都可以在 master 之上重新调整您的修改:
git checkout myBranch git rebase master git push --force
(前提是你确实推送了 myBranch 至少一次,使用git push -u origin myBranch
)