Mercurial 使用推送抽象频繁的本地提交?
最近我从Mercurial 使用推送抽象频繁的本地提交?,mercurial,Mercurial,最近我从Subversion切换到Mercurial,很高兴了解本地提交 然而,我有一个不同的工作流程,而不是它目前的工作方式 我执行非常频繁的提交,即我的一次推送到中央存储库涉及5-6个本地提交更改集,每个更改集都有其提交日志。但是,我不想在以后看到/恢复这些单独的提交,而是我的单个推送。我希望看到这个push操作作为我的多个本地提交的抽象,使用一个push日志,所有更改集合并成一个更改集所有提交都是相同的,没有“本地”或“远程”的区别提交,而不是存储它们的计算机 此外,大型提交(您想做的事情
Subversion
切换到Mercurial
,很高兴了解本地提交
然而,我有一个不同的工作流程,而不是它目前的工作方式
我执行非常频繁的提交,即我的一次
推送
到中央存储库涉及5-6个本地提交更改集
,每个更改集都有其提交日志
。但是,我不想在以后看到/恢复这些单独的提交
,而是我的单个推送
。我希望看到这个push
操作作为我的多个本地提交的抽象,使用一个push日志
,所有更改集合并成一个更改集所有提交都是相同的,没有“本地”或“远程”的区别提交,而不是存储它们的计算机
此外,大型提交(您想做的事情)通常是一个坏主意,会使更改更难理解。因此,最好尽早提交并经常提交,同时推送其他开发人员(推送并不意味着合并!),以便他们可以在需要合并时使用您的代码并合并。如果您正在开发更大的功能,那么您也可以创建分支,并在分支完成后将其合并。这在很大程度上取决于您想要实现什么,但您可以使用MQ扩展来修改您首先执行的本地提交(MQ将其转换为补丁)
您可以将两个修补程序折叠为一个,或刷新现有修补程序,添加更多更改
关于什么是理想的历史,有两种哲学:
- 提交应保持原样、完整或完整
- 历史应该包含提交,就好像它们是在理想世界中由无所不知的开发人员完成的一样
如果您喜欢后一种方法,MQ的效果最好。请查看。这意味着在本地折叠变更集,这可能是您想要的,也可能是您不想要的。答案和评论也为你指明了不去做的方向——Mercurial是关于改变历史的,你所做的每一个改变都是它的一部分。