0


git撤销未git commit的文件

一、问题描述

在git中,有些内容想撤销回来,不更改,我该如何操作呢?

下面提供两种方式处理。

二、方式1:git命令撤销(更专业)

1、文件已git add,未git commit

此时,所有文件都处于stage状态。

想stage文件变为 unstage 和 Untracked files 文件,

可以使用下面的命令撤销一个或多个文件:

git restore --staged <file>...

【说明】

1,多个时,中间用空格隔开

git restore --staged {modifiedFile} {newFile} {deletedFile}

2,文件可以是修改的(modified),新建的(new file),已被删除的(deleted)。

3,文件:执行 git status 时展示的文件路径。

2、本地修改,未git add

(1)撤销处于unstage的文件,即删除已有变动

使用下面的命令撤销一个或多个文件:

git restore <file>...

【说明】

1,可以是多个,中间用空格隔开

git restore {modifiedFile} {deletedFile}

2,文件可以是修改的(modified),已被删除的(deleted)。

3,新建的(new file)文件不能操作,如果操作返回下面的异常:

(2)如何撤销 Untracked files 新创建的文件和目录

注:Untracked files(未监控) 是我新增的文件,还没有被跟踪的文件。

【解决方案】

1,查看要删除的文件和目录,避免误删

git clean -ndf

2,在项目中查找和删除

在项目代码中,

根据上面查看的文件路径,找到文件,

然后执行删除操作。

【方案中的第二步为什么不用命令说明】

1,删除文件

git clean -xf

如下图,删除了我不想删除的 .iml 文件。

2,删除文件和目录

git clean -xdf

如下图,也是删除了我不想删除的文件和目录。

所以,以上两个命令是个坑,根据自身情况进行操作。

如果操作了也有补救,看我这篇内容:

idea中误删.iml和.idea文件,如何处理-CSDN博客

3、操作示范

注:st 是 status

总共有5个操作:

第一个,查看是git add的内容,是绿色,表示是stage文件。

第二三个,通过 git restore --staged 处理,再次查看,是红色,表示是unstage文件。

第四五个,再执行 git restore ,查看发现已经没有变动的文件了,表示已经删除了已有的变动。

三、方式2:git gui撤销(更简单)

1、打开 git gui

在git bash中,

切换到git项目目录下,

执行git gui命令,

触发打开git gui页面。

2、在git gui界面操作

如图,可以git add,git commit,git push,还能撤销 unstage,revert 等。

界面操作,简单方便。


我是程序员娟娟,

致力将工作中遇到的问题和解决方案记录下来,

分享给更多需要的同行。

如果对你有帮助,不妨点个关注吧!

标签: java git

本文转载自: https://blog.csdn.net/djj1015591892/article/details/134414001
版权归原作者 程序员娟娟 所有, 如有侵权,请联系我们删除。

“git撤销未git commit的文件”的评论:

还没有评论