在GitHub桌面(或Github for Windows)中回滚未提交的更改

问题描述 投票:13回答:3

我正在使用Github Desktop(以前称为GitHub for Windows),我对我的本地文件进行了一系列更改。它变得如此混乱,我决定我只想将我的本地文件回滚到他们最后一次提交时的位置。我没有做出新的改变 - 我只是想摆脱它们。我怎样才能做到这一点?

git github github-for-windows github-desktop
3个回答
13
投票

当您打开GitHub for Windows v2.0(GitHub Desktop的祖先)并在最左侧的列中选择您的存储库时,您将在左侧的第二列中看到所有先前的提交。如果您选择其中一个提交,则在顶部的右侧列中您将看到“Revert”,当您将鼠标悬停时,“创建一个新的提交以恢复此提交中的更改”。我不认为这是你想要做的,因为你不想恢复该提交中的更改,而是还原尚未提交的更改。所以不要这样做。 (当您在第二列中选择“未提交的更改”时,“还原”链接不存在。

有两个选项 - 第一个很容易,第二个很容易:

轻松 - 在最左侧列中选择您的存储库,然后单击右上角的齿轮图标并选择“在Git Shell中打开”。 shell应该打开并位于存储库的目录中。从那里你可以输入git reset --hard来恢复自上次提交以来修改过的文件,然后输入git clean -fd来删除自上次提交以来添加的所有文件。显然,你也可以enter other git commands here

超级简单 - 在最左侧的列中选择您的存储库,然后单击第二列中的“未提交的更改”以在右侧显示已更改的文件。如果右键单击任何文件,您将可以选择“放弃更改”。 (人们如何知道右键单击是超出我的。)如果右键单击“要提交的文件”旁边的空格,您将可以选择“放弃所有更改”。单击该文件并将其删除,所有更改都将被删除,并且您的本地文件将返回到您上次提交时的位置。


10
投票

适用于Windows v3的GitHub使得“超级简单”的答案已经过时了,再一次,弄清楚要做什么并不明显。这一次,在最左边的列中选择您的存储库,然后单击“历史记录”左侧顶部的“{#}未提交的更改”链接。这应该给你一个像下面这样的中间列。要放弃未提交的更改,您需要右键单击修改文件列表上方的“{#}更改”文本。 (单击该文本周围的空白区域不会执行任何操作。)单击“放弃所有更改”,然后再次,presto,所有更改都将被删除,并且您的本地文件将返回到您上次提交时的位置。 (顺便说一下,右键单击这些列出的文件中的任何一个将使您能够丢弃该文件的未提交更改。)

Screen shot of GitHub for Windows v3


1
投票

为了跟上时代的步伐,Github for Windows进行了大规模的改造,所以这是一个新的答案。它现在被称为Github Desktopversion numbers已经开始回到v1.0.0。因此,如果您正在运行Github Desktop v1,那么您的UI看起来会有所不同。

然而,这个超级方便,永远隐藏的小功能仍然存在。

首先,在黑色区域的最左侧下拉列表中选择您的存储库。确保然后选择“更改”选项卡。现在,您可以右键单击包含“{#}已更改文件”的矩形中的任意位置,然后您将弹出一个“放弃所有更改...”的弹出窗口。单击该按钮,然后,您将返回到你是最后一次提交的。

额外奖励:您还可以右键单击任何已更改的文件,以获得弹出窗口,使您可以仅为该文件“放弃更改...”。单击该文件,只有该文件将恢复到上次提交时的位置。

enter image description here

Github桌面documentation现在包含有关如何discard changes的信息。但是,这是不正确的!当您右键单击单个文件时,弹出窗口不会提供“放弃所有更改...”选项,因为他们的屏幕截图似乎表明了这一点。要丢弃您需要做的所有更改,如上所述。

© www.soinside.com 2019 - 2024. All rights reserved.