推送时有没有办法跳过提交

时间:2012-11-13 11:43:02

标签: mercurial

我在本地提交了一个探索性和错误的变更集。该错误已在下一次本地提交中修复。现在我想推送调试版本,但是以一种跳过错误的本地提交的方式。有没有办法简单地做到这一点。

3 个答案:

答案 0 :(得分:3)

简答:不。

答案很长:你可以将最近的一系列提交保留在推送中,但是当你推动时你不能错过链条的一部分。这是因为mercurial会跟踪您在提交时所做的更改,而您最近的更改集可能在错误的上下文之外没有意义。

选项:

  1. 有些人会建议您使用MQ extension以避免将来出现此问题。
  2. 有些人会建议使用MQ extension删除两个更改集,然后仅重新提交固定版本。这可能会带来麻烦,特别是如果您已经与任何人分享了您的变更集。
  3. 有些人(包括我)会建议您按原样离开存储库并推送两个变更集。如果你不修理它,那么在一个有缺陷的变更集中只会感到羞耻。

答案 1 :(得分:1)

4有些人(包括我)建议在推送之前使用MQ扩展将两个连续的变更集折叠成单个

5有些人会建议使用hetedit或colapse扩展程序将两个连续的变更集折叠成单个之前

答案 2 :(得分:1)

你可以试试这个:

  • 导出您想要作为补丁进行的提交
  • 在新目录中重新克隆您的存储库
  • 应用补丁
  • 现在执行对您的共享存储库的单一提交