我正在使用 Git 进行一个项目,并且已经到了想将开发分成两个独立分支的地步。拆分涉及一个简单的变更(使用大写的 C,以便我稍后可以参考),它影响代码库的一个孤立部分——在一个分支中,我希望变更存在;另一方面,我没有。更改被封装在一个提交中。
分支是我进行所有编码的master
地方(除非出现特定主题)是我想要包含更改的分支。我想创建一个original
不包含更改的单独分支(或任何您想称呼的分支)。
master
,带有更改的分支,将仍然是主要的首选分支:这是我将继续编码的分支,也是我将实际运行其代码的分支。我想保留original
以防我以后需要一个没有上述更改的代码版本。
这就是问题所在:我希望能够“合并”未来的工作master
,original
但显然,只有与变更无关的提交。
- 如果我做一个简单的
git merge master
,original
会快进到master
,引入我不想要的变化,对吧? - 我不想发展
original
和合并到master
,因为original
是特例,不是master
. - 我不想
cherry-pick
frommaster
,因为那会弄乱我的发展历史。 - 我可以
develop
从引入更改的提交中创建一个新分支master
. 我可以在这个分支上进行非变更相关的提交,并轻松地将它们合并到master
ororiginal
中。但是,如果我在上进行一些与更改相关的提交master
并希望将它们合并到develop
中,那么我将再次无法安全地合并develop
到original
中,对吗?
我想知道你对如何最好地进行的意见。
编辑:我是唯一从事这个项目的人,所以不要排除解决方案,因为它可能会在协作环境中搞砸其他程序员。我只是在寻找一种易于使用的解决方案,它可以生成清晰、直观的历史记录,以捕捉这些不同的开发历史记录的真实情况。如果不存在这样的解决方案,我将接受完成工作的答案之一。