【问题标题】:Workflow for Updating/Maintaining a forked git repository更新/维护分叉 git 存储库的工作流程
【发布时间】:2014-01-25 19:39:40
【问题描述】:

我已经创建了一个 repo 来为项目添加一些更改;它是一个 Vim 插件。我打算使用我的分叉回购作为 Vundle 的来源。但如果将来有的话,我也想从原始仓库中获取更新。

我应该如何维护回购?

  • 我在新分支中有更改;我应该合并它吗?
  • 如果我不合并它,我将不得不在 Vundle 克隆 repo 后手动切换到该分支。
  • 如果我合并它,我如何从原始存储库接收更新?主人会变的。它会被添加为新分支吗?
  • 如果有人能获得一些文章的指针或建议我应该如何搜索解决方案/最佳实践,那就太好了;我的搜索一直在挑选垃圾(可能我对这里的东西的确切命名一无所知)。

注意:

  • 我是 git 和 Vim 的新手。

【问题讨论】:

    标签: git vim vundle


    【解决方案1】:

    如果您正在改进插件,最好的解决方案可能是向原始仓库的所有者提出您的补丁。

    如果您不能或不想这样做,您可以将其保存在 dev 分支或 master 中。不会有任何区别:无论哪种方式,每次您想从上游检索更新时,您都必须在分支和 origin/master 之间进行合并。


    示例:假设您希望将其保存在本地 master 分支上。那么你会有:

    A ----------------- B
    L origin/master     L master
    

    其中B 是您对修改所做的提交。

    当你想从上游检索更新时,使用git fetch origin,你最终会得到:

       ---- B
      /     L master
     /
    A -- C -- D
              L origin/master
    

    那么您只需要从您的 master 分支:git merge origin/master 执行修改和更新即可获得提交

       ---- B -- E
      /         /L master
     /         /
    A -- C -- D
              L origin/master
    

    正如我们所见,如果您的更改可以在上游被接受,那就更容易了。不仅任何人都可以从中受益;这对你来说也会容易得多。

    【讨论】:

    • 我尝试了一个拉取请求,但似乎还没有响应。所以想走这条路。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    相关资源
    最近更新 更多