如何撤消而不丢失本地所做的git add .
更改?
我本来想这么做,git add './file1.java './file2.java'
但结果却是这么做了git add .
简而言之,根据您的具体情况...
$ git restore --staged .
Run Code Online (Sandbox Code Playgroud)
...将所有分阶段的更改移回您的工作树,而不会有任何数据丢失的风险;然后,您可以仅重新添加您最初想要添加的文件。请参阅下图,展示如何restore
使用暂存区域和工作树进行操作。
警告:执行对工作树restore
所做的更改将导致数据丢失。
由于 Git 2.23restore
是取消暂存文件的首选选项,因此在此版本之前reset
是要使用的命令,并且仍然可以使用。
reset
要取消暂存所有文件,还可以使用以下命令:
$ git reset -- .
Run Code Online (Sandbox Code Playgroud)
正如上图中的终端所示,Git 的 CLI 非常冗长且在通信方式上很有帮助。请注意如何显示如何在暂存区域和工作树git status
之间移动更改。
资料来源:以上摘录自这篇主题为: How to undo Changes in Git? 的完整帖子。(重置、恢复、恢复)