Git如何撤销已暂存/未暂存的修改文件

4
在Git(2.16)中。假设,我修改了一个文件但没有暂存,我想将该文件恢复到原始状态?此外,如何在已暂存的文件上完成这个操作?谢谢。

可能是 Git 中撤销单个文件的工作副本修改? 的重复问题。 - phd
4个回答

6

git reset HEAD fileName命令会将文件从暂存区中撤销,但更改仍然存在于工作目录中。如果您想要文件的原始副本,则可以使用 -

git checkout fileName

2
撤销所有文件的未暂存状态中的更改
$ git restore . 

撤销未提交状态下单个文件的更改

$ git restore chapter1.txt

取消所有文件的暂存状态以撤销已暂存的更改
$ git reset
$ git reset head

取消单个文件的暂存状态以撤销已暂存的更改

$ git reset songs.txt

撤销所有文件的未暂存和已暂存状态下的更改

$ git reset --hard
$ git checkout head .

撤销单个文件在未暂存和已暂存状态下的更改。
$ git checkout head chapter1.txt

还有许多其他完成这些任务的方式。

但是,这些方式会引起混淆。

我更喜欢这种结构和命令。


2

git reset HEAD 取消所有已暂存的文件。

git checkout . 放弃所有未暂存的更改。


2
您可以使用以下命令将修改的文件(包括已暂存和未暂存的文件)还原为原始状态:
git reset --hard HEAD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接