Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 使用推送抽象频繁的本地提交?_Mercurial - Fatal编程技术网

Mercurial 使用推送抽象频繁的本地提交?

Mercurial 使用推送抽象频繁的本地提交?,mercurial,Mercurial,最近我从Subversion切换到Mercurial,很高兴了解本地提交 然而,我有一个不同的工作流程,而不是它目前的工作方式 我执行非常频繁的提交,即我的一次推送到中央存储库涉及5-6个本地提交更改集,每个更改集都有其提交日志。但是,我不想在以后看到/恢复这些单独的提交,而是我的单个推送。我希望看到这个push操作作为我的多个本地提交的抽象,使用一个push日志,所有更改集合并成一个更改集所有提交都是相同的,没有“本地”或“远程”的区别提交,而不是存储它们的计算机 此外,大型提交(您想做的事情

最近我从
Subversion
切换到
Mercurial
,很高兴了解
本地提交

然而,我有一个不同的工作流程,而不是它目前的工作方式


我执行非常频繁的提交,即我的一次
推送
到中央存储库涉及5-6个本地
提交更改集
,每个更改集都有其
提交日志
。但是,我不想在以后看到/恢复这些单独的
提交
,而是我的单个
推送
。我希望看到这个
push
操作作为我的多个本地
提交的抽象,使用一个
push日志
,所有更改集合并成一个
更改集

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


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

这在很大程度上取决于您想要实现什么,但您可以使用MQ扩展来修改您首先执行的本地提交(MQ将其转换为补丁)

您可以将两个修补程序折叠为一个,或刷新现有修补程序,添加更多更改

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

  • 提交应保持原样、完整或完整
  • 历史应该包含提交,就好像它们是在理想世界中由无所不知的开发人员完成的一样
如果您喜欢后一种方法,MQ的效果最好。

请查看。这意味着在本地折叠变更集,这可能是您想要的,也可能是您不想要的。答案和评论也为你指明了不去做的方向——Mercurial是关于改变历史的,你所做的每一个改变都是它的一部分。