我正在尝试找出最佳工作流程来维护具有自定义功能的 github 托管项目 (moodle) 的本地副本,同时保持使我们的副本保持最新的能力。告诉我我正在考虑做的事情是否完全疯狂:
- fork 项目 (github.com/moodle/moodle --> github.com/sfu/moodle)
- 创建上游远程(git remote add upstream git://github.com/moodle/moodle.git && git fetch upstream)
- 为我们的定制开发创建一个分支,并保持 master 原始状态。
- 当我们想要更新我们的分支时,更新原始分支(git checkout master && git fetch upstream && git merge upstream/master)
- 将 master merge 到我们的自定义分支中(git checkout custom && git merge master)
这有意义吗?
最佳答案
是的,这是有道理的。虽然步骤 #4 可以稍微简化为 git checkout master && git pull --ff-only upstream master
。
--ff-only
确保您不会在原始副本中获得任何 merge 提交。
关于Git 工作流 : forking a project and maintaing a local modified copy, 但保持最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9386352/