在开发过程中,我经常需要提交和推送“中间”提交,即提交的代码不可编译或者在更改某些内容等时发生。我不想做这样的提交,但是这是为了让我的工作从办公室到家庭继续工作所必需的,有时候让其他开发人员可以让他们开始工作。Git合并时不包含从一个分支到另一个分支的提交
我想我已经找到了这个问题的解决方案:
我创建一个单独的“开发”分支,让所有中间的提交。
一旦代码处于良好状态,请合并为主。所以主人不会包含“中间”提交,而只包含“正常”提交。
删除所有中间提交的“dev”分支。
但这不起作用。当我进行合并时,不仅合并提交包含在master中,而且还包括来自“dev”分支的所有“中间”提交。因此,删除“dev”分支不会产生任何效果,其“中间”提交将保留在那里。
所以问题是:是否有可能以主要包含自己的提交+合并提交的方式进行合并,而不包括第二个分支的提交?如果这是不可能的,你能告诉我如何实现我的目标 - 有能力暂时保存中间结果,但也可以在以后无缝地删除它们?
考虑到他与其他开发人员共享这些提交,是不是一个好主意? – jszakmeister 2013-02-12 09:49:24
+1提及'git rebase -i'。然后人们真的不知道本地开发分支。 – 2013-02-12 14:34:43
@jszakmeister,因为他正在将本地开发分支的更改合并到当地的主人结帐中,所以没关系。当他推动他的改变时,对其他开发者来说,就好像他的改变是一个巨大的提交。换句话说,挤压可以让你有一个承诺说,“添加新功能”,而不是多个“Oops。Fix typo”承诺。 – 2013-02-12 14:44:58