我计划基于Github上的一个项目添加一些代码,例如添加一些适合我的项目的自定义选项。
其中一个想法是fork并创建一个分支以包含所有我的更改。每次上游有新的更改时,我会将它们fetch并rebase到我的分支。
假设这些是我的远程仓库:
假设上游有两个新的提交D和E,我应该获取并变基(是的,我可能需要解决合并冲突),所以我猜应该是这样的:
其中一个想法是fork并创建一个分支以包含所有我的更改。每次上游有新的更改时,我会将它们fetch并rebase到我的分支。
假设这些是我的远程仓库:
$ git remote -v
my git@github.com:khing/myproject.git (fetch)
my git@github.com:khing/pyproject.git (push)
up https://github.com/upstream/project.git (fetch)
up https://github.com/upstream/project.git (push)
upstream有三个提交:A,B,C,而我有两个额外的提交:M,N。
所以我猜当前分支将会是这样的:
up: A--B--C
my: A--B--C--M--N
假设上游有两个新的提交D和E,我应该获取并变基(是的,我可能需要解决合并冲突),所以我猜应该是这样的:
up: A--B--C--D--E
my: A--B--C--D--E--M--N
在与上游分支保持最新状态的同时维护自己的分支,这是一种好的方式吗?