首页  >  问答  >  正文

求教Github pull request问题。

新手求教个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。

曾经蜡笔没有小新曾经蜡笔没有小新2749 天前553

全部回复(2)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-02 09:22:27

    这是一个项目内嵌套另一个项目的例子。题主看 pelican-themes 的 repo 就知道,可以用 git submodule 解决。

    Submodule 对我来说是个挺复杂的东西,在这里不大敢讲,题主可以看 这里 的解释

    回复
    0
  • 阿神

    阿神2017-05-02 09:22:27

    fork是从别的repo复制一个到你账户下的repo,你本地的repo是本地的。
    正确做法是clone你自己fork到你账户的repo,变成本地repo t,然后加上你自己做的主题问文件,然后push到github后,再请求pull request。
    再次修改,还是改你的本地t,同样push,同样pull request。

    回复
    0
  • 取消回复