【问题标题】:Maintaining a fork with patches in master在 master 中维护带有补丁的 fork
【发布时间】:2019-04-14 17:17:56
【问题描述】:

我想维护一个在原始代码之上添加自定义功能的分支。它不是对项目本身的贡献,也不会被上游合并。

我想要达到的目标:

  • fork 的 GitHub 页面应指向项目的修补版本,而不是原始版本。
  • 我应该能够轻松合并新的上游代码,同时为我自己的提交保留单独的历史记录。

我目前的计划是在 fork 存储库中将 upstream/master 分支设置为 vendor,我自己的 master 将从该分支分支。每当上游有稳定版本时,我可以将其拉入并推送到 vendor 分支,而不是重新设置我的 master

问题:

  1. 是否有更简单或更简洁的方法来获得相同的结果?
  2. 我应该通过 GitHub 网络界面 fork 然后移动 master,还是应该按照 this answer 中的说明在本地创建存储库?

【问题讨论】:

  • 这似乎是一个非常合理的工作流程。通过 GitHub Web 界面进行分叉很好,因为它提供了指向原始项目的指针。

标签: git github git-fork


【解决方案1】:

分叉只是链接这两个 GitHub 存储库的一种更正式的方式。

您甚至不需要将 upstream/master 命名为“供应商”:您可以直接在该远程分支之上重新设置您自己的 master 分支。

git fetch upstream
git checkout master
git rebase upstream/master

【讨论】:

  • 这是一个有趣的方法。我想我应该更多地关注 git-rebase 手册页。谢谢!
  • 是否有任何方法可以将旧版本的引用保留为标签/分支? (例如:对旧上游应用的更改,用于回滚)
  • @Edi 你可以先做一个标签,在变基之前:这将保持之前的状态被引用。
猜你喜欢
  • 2012-01-06
  • 1970-01-01
  • 2013-07-20
  • 2013-01-02
  • 2017-10-10
  • 2010-09-21
  • 2015-07-17
  • 2014-12-28
  • 2016-12-21
相关资源
最近更新 更多