Mercurial Revert——全方位的TortoiseHg工作台
简单的问题:有没有一种方法可以恢复——全部从OrtoisehG工作台恢复?我知道如何还原单个文件。理想情况下,我可以单击修订,然后从鼠标右键菜单中找到“全部还原”项 我在Ubuntu的盒子上使用的是OrtoiseHG2.8 编辑我应该提供更多关于我的问题的细节来提供一些背景。让我描述一下特定的用例:Mercurial Revert——全方位的TortoiseHg工作台,mercurial,tortoisehg,revert,Mercurial,Tortoisehg,Revert,简单的问题:有没有一种方法可以恢复——全部从OrtoisehG工作台恢复?我知道如何还原单个文件。理想情况下,我可以单击修订,然后从鼠标右键菜单中找到“全部还原”项 我在Ubuntu的盒子上使用的是OrtoiseHG2.8 编辑我应该提供更多关于我的问题的细节来提供一些背景。让我描述一下特定的用例: 我想把我的工作目录恢复到以前提交的状态,这样我就可以从我知道是“好”的可执行文件中生成输出。一旦我生成了输出,我想回到技巧,继续我的开发,保持这段历史的线性。在命令行中,我执行了“hg revert
我想把我的工作目录恢复到以前提交的状态,这样我就可以从我知道是“好”的可执行文件中生成输出。一旦我生成了输出,我想回到技巧,继续我的开发,保持这段历史的线性。在命令行中,我执行了“hg revert--all--rev22”,生成了输出,然后执行了“hg revert--all”,这符合我的要求。“hg update”将创建一个带有分支的历史记录(如果我理解正确的话)。FWIW在OrtoiseHG中有一个“更新”按钮(在显示文件列表的框中)以及给定修订版上的鼠标右键菜单项。要将工作目录设置为与给定变更集的状态相匹配(可能是
tip
),可以使用更新:
hg update-r changeset-C
现在,您可以从历史记录中的该点的工作目录的“状态”创建输出(即,从该变更集的可执行文件)。如果不在此处进行任何提交,则不会创建任何更改集,因此不会向回购历史记录添加任何内容
一旦您获得了满意的输出,您可以通过相同的过程再次更新到开发的提示
,并继续您的工作:
提示
revert
上使用update
的好处是,Tortoise会将工作目录的父目录显式显示为其历史记录的变更集。在revert
下,可以很容易地还原文件,并且无法跟踪您已还原到的更改集以及您占用的历史记录的哪一部分
(这是假设您希望移动到历史记录中的那个点。如果您需要创建一个撤销先前变更集的变更集,请查看,尽管我不确定在Tortoise中是否可用。)
您可以使用Ctrl+A选择列表中所有已修改的文件,然后从关联菜单中选择“还原”。谢谢您提供的信息。请参阅我的操作的编辑。“更新”将主要适用于我想要的内容,但它比“恢复”更为繁重,但可能我的用例有点不寻常。感谢您提供的信息。这种方法的一个困难(除非我遗漏了什么)是,无法方便地找到在当前工作目录和所需修订之间更改的所有文件。(有一个“diff-to-local”将调用单独的visualdiff工具,但是没有一个好方法从那里启动“revert”。)