我正在尝试修改一些我在本地机器上引入的更改.我收到错误:
abort: can't rebase immutable changeset 110e73ed65a4
(see hg help phases for details)
Run Code Online (Sandbox Code Playgroud)
即使我改变了我正在重新定义的变更集的阶段(并且相变似乎成功),我也会得到同样的错误.使用:
hg phase -f -d REV
Run Code Online (Sandbox Code Playgroud)
我想知道历史记录中是否存在我缺少的变更集,并且仍然是不可变的,如果有的话,如果有一种方法可以将变更集历史记录中的所有变更集更改为单个命令可变.
或者,有没有办法强制使用rebase,即使使用不可变的变更集?
重新公开的变更被认为是一个非常糟糕的主意.您不应该更改任何被推送的历史记录 - 阶段的重点是跟踪尚未推送的更改(因此可以对其进行修改),以及已推送的更改(因此它们是不可变的) ).从rebase文档:
您不应该重新定义已经与其他人共享的变更集.这样做会强制其他人执行相同的rebase,或者在提取重新设置的更改集后最终会出现重复的更改集.
最好是合并您的更改或将它们移植到其中.Graft(也称为cherry-picking)需要一个或多个更改集并将它们复制到当前分支.
| 归档时间: |
|
| 查看次数: |
4616 次 |
| 最近记录: |