【发布时间】:2013-04-30 00:05:21
【问题描述】:
是否可以在不更改当前存储库的情况下使用 Mercurial 进行提交,例如 git 的 --allow-empty?
【问题讨论】:
-
你为什么要这样做?
-
您可能想要这样做的原因:(1) git 这样做(所以有人认为存在需求),(2) 您使用 mercurial 作为 git 客户端并且需要执行相同的操作提交,(3)具体需求:stackoverflow.com/a/12269801/70170
-
@Mark 我想这样做是因为我关闭了我们的默认分支(因为我需要退出一组被证明是不必要的变更集)并且我想从早期的变更集中提交然后推送到我们的仓库。但是,我们的 CI 需要知道分支是开放的,而不是关闭的,我的团队也是如此。我不想在文件中进行任意更改,而是想推送一个空提交作为分支已从特定点重新启动的信号。
-
另一个原因:您有两个提交 [A, B] 的堆栈,并且想要在它们之间插入一个新提交。在 git 中,我只需执行
git rebase -i,然后编辑A。此时,A已提交,我所做的任何新提交都在A之后。hg histedit工作方式不同。当我编辑A时,它是未提交。我不能承诺在它之后添加一个提交。一个简单的解决方法是添加一个 nop 提交,使用 histedit 在A和B之间移动它,然后编辑 nop 提交。