【问题标题】:Revert a single file to earlier commit using Git Extensions for Visual Studio使用 Git Extensions for Visual Studio 将单个文件还原为较早的提交
【发布时间】:2011-03-05 01:47:29
【问题描述】:

我找到了有关如何将 Git 存储库中的单个文件恢复到早期版本的说明。但我很好奇是否有人知道使用 Git Extensions for Visual Studio 的方法。到目前为止,这个工具效果很好,我真的很喜欢它,但我不知道如何做这件事。

【问题讨论】:

    标签: .net visual-studio git git-extensions


    【解决方案1】:

    在 Git 扩展中执行此操作的最简单方法是打开要恢复的文件的文件历史记录(例如,从 Visual Studio 的上下文菜单中)。然后找到您需要的版本并在上下文菜单中选择“另存为”。

    要恢复对工作目录中文件所做的更改,只需从 Visual Studio 的上下文菜单中选择“恢复更改”即可。

    【讨论】:

    • 这是我以前做过的,所以我想这是使用扩展的唯一方法。
    • 我相信这里的“上下文菜单”是指解决方案资源管理器中的那个。我无法在该上下文菜单中找到“另存为”选项。因此,我从文件历史记录中打开了我感兴趣的文件版本,然后从 Visual Studio 的“文件”菜单中选择了“另存为”。
    【解决方案2】:

    虽然@Henk 建议的技术可行,但这是 Git 方式。

    1. 选择更改了您希望还原的文件的提交。
    2. 选择还原提交操作。确保告诉 Git Extension不要自动提交还原操作。这将导致 a) 对受影响的文件执行恢复操作和 b) 暂存恢复的文件

    然后您可以取消暂存您不希望恢复的文件——只留下一个您希望恢复的文件以提交。

    虽然这似乎比文件 > 另存为更乏味,但当您必须还原少数个文件时,它会派上用场。

    【讨论】:

    • @boomhauer 请看我最后的编辑。当您恢复提交时(尤其是包含的文件不止感兴趣的文件),您必须告诉 Git Extensions 不要自动提交恢复操作。在试图说明我以某种方式错过了“不”部分时。我很抱歉没有校对我自己的帖子。
    【解决方案3】:

    编辑了我的帖子。我不知道为什么我回应了 mercurial。对于那个很抱歉。同样的想法也适用于 git。我使用了 tortiseGit(当我使用 git 时),但命令行更容易。 TortiseGit 仍然是右键还原。命令行只是 'git checkout filename' 从 HEAD 获取结帐。

    【讨论】:

    • 进行了完整的编辑。我回应的是 mercurial 而不是 git。我不知道我为什么这样做。我道歉。不过答案几乎是一样的。
    • 对,我认为命令行看起来有点不同 ;) thx
    猜你喜欢
    • 2020-09-21
    • 1970-01-01
    • 2020-08-27
    • 2019-05-31
    • 2016-11-01
    • 2022-07-21
    • 1970-01-01
    • 2011-12-19
    • 2013-07-31
    相关资源
    最近更新 更多