Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用GIT恢复尚未放入临时区域的文件中所做的更改_Git_Github_Version Control - Fatal编程技术网

如何使用GIT恢复尚未放入临时区域的文件中所做的更改

如何使用GIT恢复尚未放入临时区域的文件中所做的更改,git,github,version-control,Git,Github,Version Control,我是Git的新手。我的问题很简单,但我仔细研究了一下 我能找到正确的答案 第一步。假设我有一个包含两个文件的项目。A.txt和B.txt。我对文件做了一些修改,最终我把它推到了回购协议上 第二步。现在我对它做了更多的修改。假设我在A.txt和B.txt中都添加了一行 第三步。所以现在我去了cmd,做了“Git状态”。我看到两个文件名都是红色的 第四步。然后我意识到,我不想这些文件去我的主回购。我的意思是,即使是在我的本地回购协议中,我也不希望发生这些变化 第五步。另外,自从上次成功推送以来,我已

我是Git的新手。我的问题很简单,但我仔细研究了一下 我能找到正确的答案

第一步。假设我有一个包含两个文件的项目。A.txt和B.txt。我对文件做了一些修改,最终我把它推到了回购协议上

第二步。现在我对它做了更多的修改。假设我在A.txt和B.txt中都添加了一行

第三步。所以现在我去了cmd,做了“Git状态”。我看到两个文件名都是红色的

第四步。然后我意识到,我不想这些文件去我的主回购。我的意思是,即使是在我的本地回购协议中,我也不希望发生这些变化

第五步。另外,自从上次成功推送以来,我已经忘记了在A.txt和B.txt中添加了哪一行

第六步。因此,当我执行git状态时,“我看到两个文件都是红色的”,因为它们带有一行更改。我如何从我的本地回购中恢复这些更改,以便在我恢复git状态时。我什么也看不见。我应该将消息视为“它与远程回购同步”

重申我自己。我想要一个git命令,它将还原在本地repo中所做的更改,在运行git命令后,当我切换回我的项目时,我会看到这样一条消息:“一些外部源正在尝试修改文件a.txt和b.txt”如果我对这个提示说是的,我所做的一行更改应该从我的本地回购中消失,就好像它从来没有出现过一样

注:请注意,我并不是在谈论“git添加或提交或推送”。

“红色”表示“已修改,尚未添加到索引中”(或者是绿色)

要恢复上次提交后的原始内容,只需执行以下操作:

这将处理步骤6。不涉及添加、提交或推送,只需删除挂起的本地修改。

请注意第7步:如果您想保存这些本地修改(从未添加、提交或推送)

我理解您的编辑,但git checkout已经足够了:您似乎描述了本地修改,他们会在git结账后离开我提到的谢谢你理解我的问题并完美地回答它。:)Otteroisegit还可以帮助您。我们可以从UI而不是命令行获得帮助。步骤7的可能重复不是一个步骤。我只是在重申我自己。因为我确实想要一个花哨的答案。我想要一个直截了当的答案。我非常感谢你提供了这么简单的答案。它像预期的那样工作。git checkout命令恢复工作树中修改之前索引中的内容。它可以从分支或树还原文件,也可以还原单个文件。
git checkout -- A.txt
git checkout -- B.txt