新手求教个Github pull request的问题。
Python的开源博客Pelican有一个官方的主题repo pelican-themes,里面有好多主题。现在我自己做了一个主题,建了个repo t,我想把我的主题提交到官方主题库中,应该怎么做?
我自己想的应该先fork下来官方的库,把自己的代码添加到fork下来的库中,push提交后,发送一个pull request,等待审核。在这里有一个问题,如果我想再次修改代码是不是应该只能在fork下来的库中修改而不是自己键的库t中修改,那t中的代码和fork库中的代码如何同步?或者怎样只修改t中的代码,同时fork库中的代码也被修改?
这是官方库的地址:pelican-themes
更新:
这个问题确实是像allenfantasy同学说的子模块问题,即把一个项目当成另一个项目的子模块进行管理,同时当子模块的git项目代码有更新,可以拉取更新到主项目的子模块目录来。反过来,当主项目的子子模块目录有变更,还可以推送这些变更到子模块的git项目。
具体可以使用git submodule或者git subtree进行处理。而git submodule看上去就给人感觉特别麻烦,坑也个别多,git subtree用起来相对简单,看上去清晰明了。
具体参见处理方法git subtree。
曾经蜡笔没有小新2017-05-02 09:22:27
这是一个项目内嵌套另一个项目的例子。题主看 pelican-themes 的 repo 就知道,可以用 git submodule 解决。
Submodule 对我来说是个挺复杂的东西,在这里不大敢讲,题主可以看 这里 的解释
阿神2017-05-02 09:22:27
fork是从别的repo复制一个到你账户下的repo,你本地的repo是本地的。
正确做法是clone你自己fork到你账户的repo,变成本地repo t,然后加上你自己做的主题问文件,然后push到github后,再请求pull request。
再次修改,还是改你的本地t,同样push,同样pull request。