在主分支中维护带有补丁的分支

3
我想要维护一个分支,将自定义功能添加到原始代码之上。这不是对项目本身的贡献,也不会合并到上游。
我想要实现的目标:
- 分支的 GitHub 页面应该指向项目的补丁版本,而不是原始版本。 - 我应该能够轻松地合并新的上游代码,同时保留自己提交的单独历史记录。
我的当前计划是在 fork 仓库中将 upstream/master 分支作为 vendor,从中创建自己的 master 分支。每当上游有稳定版本发布时,我可以将其拉取并推送到 vendor 分支,然后再将自己的 master 进行变基操作。
问题:
1. 是否有更简单或更清晰的方法来实现相同的结果? 2. 我应该通过 GitHub 网页界面进行 fork,然后移动 master,还是应该按照这个答案中所述,在本地创建仓库?

这似乎是一个非常合理的工作流程。通过GitHub网页界面进行分叉很好,因为它提供了对原始项目的指针。 - larsks
1个回答

2

fork只是一种更正式的方式来链接两个GitHub仓库。

你甚至不需要将upstream/master命名为"vendor":你可以直接将自己的主分支rebase到那个远程分支上。

git fetch upstream
git checkout master
git rebase upstream/master

这是一个有趣的方法。我想我应该更加注意git-rebase的手册。谢谢! - M.Marcello
有没有一种方法可以将对旧版本的引用保留为标签/分支?(例如:在较旧的上游应用更改,以便回滚) - Edi
@Edi 在 rebase 之前,你可以先创建一个标签:这样可以保留对先前状态的引用。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接