我正在使用Github Desktop(之前称为GitHub for Windows),我对本地文件进行了一系列更改。它变得如此混乱,我决定我只想将我的本地文件回滚到他们最后一次提交时的位置。 我没有提交新的更改 - 我只是想摆脱它们。我怎么能这样做?
答案 0 :(得分:13)
当您打开 GitHub for Windows v2.0 ( GitHub Desktop 的祖先)并在最左侧列中选择您的存储库时,您将看到之前的所有提交左起第二列。如果您选择其中一个提交,则在顶部的右侧列中您将看到“Revert”,当您将鼠标悬停时,“创建一个新的提交以恢复此提交中的更改”。我不认为这是你想要做的,因为你不想恢复该提交中的更改,而是还原尚未提交的更改。所以不要这样做。 (当您在第二列中选择“未提交的更改”时,“还原”链接不存在。
有两个选项 - 第一个很容易,第二个很容易:
Easy - 在最左边的列中选择您的存储库,然后单击右上角的齿轮图标并选择“在Git Shell中打开”。 shell应该打开并位于存储库的目录中。从那里,您可以键入git reset --hard
以还原自上次提交后修改的文件,然后键入git clean -fd
以删除自上次提交后添加的所有文件。显然,你也可以enter other git commands here。
超级简单 - 在最左边的列中选择您的存储库,然后单击第二列中的“未提交的更改”以在右侧显示已更改的文件。如果右键单击任何文件,您将可以选择“放弃更改”。 (人们如何知道右键单击是超出我的。)如果右键单击“要提交的文件”旁边的空格,您将可以选择“放弃所有更改”。单击该文件并将其删除,所有更改都将被删除,并且您的本地文件将返回到您上次提交时的位置。
答案 1 :(得分:10)
GitHub for Windows v3 使得“超级简单”的答案已经过时,再一次,弄清楚要做什么并不明显。这一次,在最左边的列中选择您的存储库,然后单击“历史记录”左侧顶部的“{#}未提交的更改”链接。这应该给你一个像下面这样的中间列。要放弃未提交的更改,您需要右键单击修改文件列表上方的“{#}更改”文本。 (单击该文本周围的空白区域不会执行任何操作。)单击“放弃所有更改”,然后再次,presto,所有更改都将被删除,并且您的本地文件将返回到您上次提交时的位置。 (顺便说一句,右键单击这些列出的文件中的任何一个将使您能够丢弃该文件的未提交更改。)
答案 2 :(得分:1)
为了跟上时代的步伐,Github for Windows进行了大规模的改造,所以这是一个新的答案。它现在被称为Github Desktop,version numbers已经开始回到v1.0.0。因此,如果您正在运行 Github Desktop v1 ,那么您的用户界面会有所不同。
然而,这个非常方便,永远隐藏的小功能仍在那里。
首先,在黑色区域的最左侧下拉列表中选择您的存储库。确保然后选择显示"更改"的标签。现在,您可以右键单击矩形中包含" {#}已更改文件的任何位置"并且你会得到一个弹出窗口,上面写着"放弃所有的变化......"点击它,然后,您回到上次提交时的位置。
奖励:您还可以右键单击任何已更改的文件,以获得弹出窗口,以便您可以放弃更改..."仅适用于该文件。单击该文件,只有该文件将恢复到上次提交时的位置。
Github桌面documentation现在包含有关如何discard changes的信息。但是,这是不正确的!当您右键单击单个文件时,弹出窗口不会选择"放弃所有更改..."因为他们的屏幕截图似乎表明。如上所述,丢弃您需要做的所有更改。