【问题标题】:undo revert in git or tortoisegit在 git 或 tortoisegit 中撤消还原
【发布时间】:2011-05-04 10:48:34
【问题描述】:

有没有一种简单的方法来撤消 tortoisegit 恢复?

这里有更多信息:我刚刚提交了一个大型的多文件签入,然后我决定在大文件之前提交一个单独的小签入,以便明天更容易修改那个大签入。

所以我在 tortoisegit 中调出登录,右键单击上次签入,然后选择“还原”。这撤消了更改并删除了我工作目录中的一堆文件。我真正想要的是“重置”(回滚签入并保留我的工作目录),而不是还原(在我的工作目录中创建“撤消签入”)。

如何撤消我的还原?

【问题讨论】:

    标签: git tortoisegit git-revert


    【解决方案1】:

    经过更多谷歌搜索,我在this blog post 中找到了答案:只需再次运行revert 命令,它就会撤消您的revert,而不会在您的历史记录中添加任何额外的提交。就好像我一开始就不会运行 revert 。

    博客文章只提到了常规(命令行)git 的这个技巧,但同样的事情在 tortoisegit 中也有效。特别好的是我的工作目录中的其他更改并没有被吹走——只有还原被撤消了。

    我将把自行生成的问答对留在这里,因为很难找到这个答案——希望能帮助其他人节省时间。

    【讨论】:

    • 除非您已经推送了恢复提交,否则您绝对应该像 Jörg 所说的那样重置两个提交 - 如果您可以提供帮助,则无需使用一对相反的提交来混乱历史。跨度>
    • “重置两个提交”会对我的工作目录中的更改(错误还原的提交的更改和其他未暂存的更改)产生什么影响?
    【解决方案2】:

    无论如何,只要git reset 达到您想要的程度。 revert 没什么特别的:它只是一个正常的提交,与另一个提交的作用完全相反。由于它只是一个普通的提交,它将像您最初想要摆脱的其他提交一样被垃圾收集。

    【讨论】:

      【解决方案3】:

      我尝试恢复之前已恢复的提交,但它什么也没做。结果是“没有提交(工作目录干净)”。

      起作用的是挑选以前恢复的提交。这引入了我以前还原的更改,并且没有改变我的工作目录。

      【讨论】:

        猜你喜欢
        • 2022-01-06
        • 2013-09-28
        • 2022-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        • 2013-05-07
        • 1970-01-01
        相关资源
        最近更新 更多