git撤销文件的修改

git撤销某个文件的修改,分为两种情况:

  1. 在工作区修改,但并未提交到暂存区(即并没有add)。
    对于单个文件的撤销修改而言,使用下面方法。
git checkout -- 文件名

若想撤销工作区中所有文件的修改,则

git checkout .

注意:git chekcout 是让文件回到最近一次该文件git commit或git add时的状态。
2. 工作区修改了之后,提交到了暂存区(即add),如何撤销修改?这里分为两种情况来说吧。
a. 对于该文件来说,在当前分支上,你还没有commit过一次。这时候,git status后git给出提示:
是的,使用git rm --cached 文件名命令来放弃该文件的暂存,这时,你用git status命令:
表明:test1文件不被git追踪,并且它是修改的状态,没有提交到暂存区。此时,你用git checkout -- file是没有用的。因为,前面提到过,git checkout -- file是回到最近的一次commit或者add。但是,当前你还没有一次commit过,并且,add也已经撤销了,所以Git找不到该文件在以往记录中的存在。自然没法用git checkout -- file。
git提示你:该文件在Git目前所知的文件中找不到。
此时,你可以任意的对此文件进行修改了,想好了之后,再提交到暂存区。
b. 如果你已经有了commit的记录,撤销文件。
则先:git reset HEAD file让该文件回到工作区的状态。
然后:git chekcout -- file即可

————————————————
版权声明:本文为CSDN博主「少油少盐不要辣」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40713392/article/details/98449133

posted @ 2022-11-03 13:37  zkx98  阅读(547)  评论(0编辑  收藏  举报