我有一个包含两个分支的存储库:common
和alt
。 common
分支包含代码的版本,这是大多数人最常见的用例。 alt
分支包含项目的一个版本,其中某些内容的配置不同,但大多数内容与common
上的相同。
到目前为止,我一直很乐意在我的机器上开发,将错误修复和开发应用到common
分支,然后将这些更改重新定位到alt
。 alt
有一些提交,我不会回到common
。这些更改完全与common
上的更改完全相同,因为alt
只会添加和删除一些文件。
举一个例子,我在common
中更改了一些内容但是没有将它们重新绑定到alt
之后,代码看起来如何。
A -- B -- C -- F (common)
\
`-- D -- E (alt)
在变基之后:
A -- B -- C -- F (common)
\
`-- C --- F -- D -- E (alt)
但是,我最近在github上发布了这个项目,在那里发布了两个分支。似乎我不能再使用rebase来保持alt
与common
保持同步,因为我每次都这样做:
common
中的内容并提交alt
和git rebase common
git push github alt
这说明alt
的本地分支正在远程运行,现在我总是需要首先进行拉取和合并。这会产生很多杂乱的合并提交,我认为这些提交不应该是必要的(它们的差异是空的)。
如何更好地管理我的分支机构,以便将common
中的更改添加到alt
中,以便我可以同时将common
和alt
保留在github上?
答案 0 :(得分:0)
我建议您查看gitflow http://nvie.com/posts/a-successful-git-branching-model/
此工作流程旨在回答您的工作流程,您需要对几个分支机构进行少量更改。
gitflow只是一组脚本,您可以根据需要配置它们。
默认脚本(工作流程)如下图所示: