我正在使用 Git 开发一个项目,现在我想将开发分成两个独立的分支。拆分涉及影响代码库的一个孤立部分的简单变更(带有大写字母 C,因此我可以稍后再引用)——在一个分支中,我希望变更存在;另一方面,我没有。更改封装在一次提交中。
master
分支是我进行所有编码的地方(除非出现特定主题)是我想要包含变更的分支。我想创建一个单独的分支,original
(或任何你想调用它的名称),它不包含更改。
master
,带有更改的分支,将仍然是主要的首选分支:这是我将继续编码的分支,也是我将实际运行其代码的分支。我想保留 original
以防万一我需要一个没有上述更改的代码版本。
这就是问题所在:我希望能够将 master
中的工作“merge ”到 original
中,但是,很明显,只有不提交的提交'关注变化。
- 如果我做一个简单的
git merge master
,original
将快进到master
,引入我不想要的更改,对吧? - 我不想在
original
上开发并 merge 到master
,因为original
是特例,而不是master
。 - 我不想从
master
那里挑选
,因为那会弄乱我的开发历史。 - 我可以从引入
master
中的变更的提交创建一个新分支develop
。我可以在此分支上进行非更改相关的提交,并轻松地将它们 merge 到master
或original
中。但是,如果我在master
上做了一些与 Change 相关的提交并想将它们 merge 到develop
中,那么我将再次无法安全地 mergedevelop
变成original
,对吧?
我想知道您对如何最好地进行的意见。
编辑:我是唯一一个从事这个项目的人,所以不要排除一个解决方案,因为它可能会在协作环境中扰乱其他程序员。我只是在寻找一个易于使用的解决方案,它可以生成一个干净、直观的历史记录,以捕捉这些不同的发展历史的真实面目.如果不存在这样的解决方案,我将接受能够完成工作的答案之一。
最佳答案
如何从 master 分支到原始分支,然后 git revert
包含您不想在原始分支中维护的更改的提交。我想 git merge
会继续工作。只是几个偶数提交的总和将为空。
关于git - 维护不包含与特定更改相关的提交的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777045/