通过推送来提取频繁的本地提交?

时间:2011-08-04 07:36:57

标签: mercurial

最近我从Mercurial切换到Subversion,很高兴了解local commits

但是我的工作流程与目前的工作方式不同。

我执行非常频繁提交,即。我的单个push到中央存储库涉及5-6个本地commit changesets,每个commit logcommits。但是,我不会在将来看到/还原到这些个人push,而是关注我的单push。我希望将此commits操作视为我的多个本地push log的抽象,只有一个changeset,并且所有更改集合并为一个{{1}}。

2 个答案:

答案 0 :(得分:2)

所有提交都是相同的,“本地”或“远程”提交之间没有区别,而不是存储它们的计算机。

同样大的提交(你想做什么)通常是一个坏主意,并使更改更难理解。因此,最好提前提交并经常提交,也推送给其他开发人员(推送并不意味着合并!),以便他们可以使用您的代码并在事情需要合并时进行合并。如果您正在开发更大的功能,那么您也可以创建分支,并在它们完成时合并它们。

答案 1 :(得分:1)

它在很大程度上取决于您想要实现的目标,但您可以使用MQ扩展来修改您首先执行的本地提交(MQ转换为修补程序)。

您可以将两个补丁折叠成一个,或刷新现有补丁,添加更多更改。

关于历史是理想的,有两种哲学:

  • 提交应保留原样,完整无缺或
  • 历史应该包含承诺,好像它们是在一个理想的世界中创造的,由无所不知的开发者创建。

如果你喜欢后一种方法,MQ的效果最好。