Version control 在Mercurial中将已提交的变更集转换为未提交的变更
是否有方法将单个提交(例如,我的本地存储库中的提示更改集)转换为工作目录中未提交的更改?Version control 在Mercurial中将已提交的变更集转换为未提交的变更,version-control,mercurial,dvcs,Version Control,Mercurial,Dvcs,是否有方法将单个提交(例如,我的本地存储库中的提示更改集)转换为工作目录中未提交的更改? 我知道hg strip会删除指定的变更集并对其进行备份,但它会将这些变更集转换为工作目录中未受限制的变更吗 编辑: 关于使用hg rollback 如果在我想执行hg rollback之前有未提交的更改,该怎么办?我必须先做这些吗?最后几次呢?sequentialhg rollback是否将这些提交的更改堆叠到现有的未提交更改 如果您试图重做上一次提交(可能是使用更好的提交消息,可能是修复了错误),那么现在
我知道
hg strip
会删除指定的变更集并对其进行备份,但它会将这些变更集转换为工作目录中未受限制的变更吗
编辑:
关于使用hg rollback
如果在我想执行hg rollback
之前有未提交的更改,该怎么办?我必须先做这些吗?最后几次呢?sequentialhg rollback
是否将这些提交的更改堆叠到现有的未提交更改
如果您试图重做上一次提交(可能是使用更好的提交消息,可能是修复了错误),那么现在应该使用
$hg提交--修改
更新最后一次提交。这比如下所述使用hg rollback
安全得多
如果提交是最后一次提交,并且没有在任何地方更新,则可以使用hg rollback
。请阅读hg help rollback
-这是一个潜在的破坏性命令
它的作用:hg rollback
将回滚存储库中的最后一个。每次您hg提交
,hg拉
,hg解压
等时,都会创建一个新事务。当所有内容都安全存储后,Mercurial将关闭事务。如果在事务中间出错,则可以恢复(参见<代码> HG恢复< /代码>)。您还可以使用hg rollback
手动回滚上一个事务。请参见hg rollback--dry run
,以预览该命令将执行的操作
“回滚”命令不会触及您的工作副本。这意味着以前显示为已修改的文件将再次显示为已修改。所以这很容易做到
$ hg commit -m "Fixed buug-123"
Ups,在提交消息中输入错误!让我们解决这个问题:
$ hg rollback
$ hg commit -m "Fixed bug-123"
(使用hgcommit--amend
代替Mercurial 2.2及更高版本。)
最后一条提交消息也保存在.hg/last message.txt
中,因此,如果shell历史记录中没有该消息,您可以从中恢复它
如果在执行hg回滚之前有未限制的更改,该怎么办?我必须先做这些吗
回滚不接触工作副本。这意味着工作副本中的任何其他更改将与更改集中的更改一起出现。就好像你根本没有输入hg commit一样 最后几次呢?顺序hg回滚是否将这些提交的更改堆叠到现有的未限制更改 不,您只有,因为我们只跟踪上一笔交易 如果您试图重做上一次提交(可能是使用更好的提交消息,可能是修复了错误),那么现在应该使用
$hg提交--修改
更新最后一次提交。这比如下所述使用hg rollback
安全得多
如果提交是最后一次提交,并且没有在任何地方更新,则可以使用hg rollback
。请阅读hg help rollback
-这是一个潜在的破坏性命令
它的作用:hg rollback
将回滚存储库中的最后一个。每次您hg提交
,hg拉
,hg解压
等时,都会创建一个新事务。当所有内容都安全存储后,Mercurial将关闭事务。如果在事务中间出错,则可以恢复(参见<代码> HG恢复< /代码>)。您还可以使用hg rollback
手动回滚上一个事务。请参见hg rollback--dry run
,以预览该命令将执行的操作
“回滚”命令不会触及您的工作副本。这意味着以前显示为已修改的文件将再次显示为已修改。所以这很容易做到
$ hg commit -m "Fixed buug-123"
Ups,在提交消息中输入错误!让我们解决这个问题:
$ hg rollback
$ hg commit -m "Fixed bug-123"
(使用hgcommit--amend
代替Mercurial 2.2及更高版本。)
最后一条提交消息也保存在.hg/last message.txt
中,因此,如果shell历史记录中没有该消息,您可以从中恢复它
如果在执行hg回滚之前有未限制的更改,该怎么办?我必须先做这些吗
回滚不接触工作副本。这意味着工作副本中的任何其他更改将与更改集中的更改一起出现。就好像你根本没有输入hg commit一样 最后几次呢?顺序hg回滚是否将这些提交的更改堆叠到现有的未限制更改 不,您只有,因为我们只跟踪最后一笔交易。任何更简单的变更集(或变更集集集)都可以通过(折叠|展开变更集)转换为本地变更 (对于旧GUI)逐步显示操作任何更容易转换为本地更改的更改集(或更改集集集)(折叠|展开更改集)
(对于旧GUI)一步一步地显示操作尽管您可能应该在可能的情况下使用
hg commit--ammend
,但我现在更喜欢新的更强大的mecurial历史编辑功能:特别是如果您熟悉git的话
您只需执行一个
hg out
(即您想要选择尚未推送的版本),就可以看到您想要返回的版本。尽管您可能应该尽可能使用hg commit--ammend
,但我现在更喜欢新的、更强大的mecurial历史编辑功能:特别是如果您熟悉git的话
您只需执行一个
hg out
(即您想要选择尚未推送的修订版),就可以看到您想要返回的修订版。如果我在返回之前有未限制的更改,该怎么办