7

简单的问题:有没有办法从 TortoiseHg 工作台恢复 --all ?我了解如何还原单个文件。理想情况下,我可以单击修订,然后从鼠标右键菜单中找到“全部还原”项。

我在 Ubuntu 机器上使用 TortoiseHg 2.8。

编辑我应该就我的问题提供更多细节以提供一些背景信息。让我描述一下特定的用例:

我想把我的工作目录恢复到过去提交的状态,这样我就可以从我知道是“好”的可执行文件中生成输出。一旦我生成了那个输出,我想回到提示并继续我的开发,保持这个历史线性。从命令行,我做了“hg revert --all --rev 22”,生成了输出,然后是“hg revert --all”,这就是我想要的。“hg update”将创建一个带有分支的历史记录(如果我理解正确的话)。FWIW TortoiseHg 中有一个“更新”按钮(在显示文件列表的框中)以及给定修订版的鼠标右键菜单项。

4

2 回答 2

10

要设置工作目录以匹配给定变更集(可能是tip)的状态,您可以使用 Update:

  1. 右键单击要“还原”到的变更集。
  2. 选择“更新”
  3. 选中“放弃本地更改”复选框
  4. 点击更新

它会hg update -r changeset -C在控制台中。

现在您可以从历史上那个点的工作目录的“状态”创建输出(即从该变更集中的可执行文件)。如果您在此处不进行任何提交,则不会创建任何变更集,因此不会将任何内容添加到存储库历史记录中。

一旦您对输出感到满意,您可以tip通过相同的过程再次更新到开发并继续您的工作:

  1. 右键点击tip开发。
  2. 选择“更新”
  3. 选中“放弃本地更改”复选框
  4. 点击更新

使用updateover的好处revert是 Tortoise 将显式显示工作目录的父级作为它的历史变更集。在revert这种情况下,恢复文件并忘记您已恢复到哪个变更集以及您占用了哪一部分历史记录可能非常容易。

(这是假设您想要移动到历史记录中的那个点。如果您需要创建一个撤消先前变更集的变更集,请查看backout,尽管我不确定这是否在 Tortoise 中可用。)


于 2013-08-09T21:04:10.547 回答
0

You can select all modified files in the list with Ctrl+A and then select "Revert" from context menu.

于 2013-08-09T22:57:44.913 回答