【Git】撤销已经git add的文件

参考文章:git commit和git add的撤销


如果不想提交某个文件,比如DBConfig.py,但是不小心git add了这个文件,想要撤销add的话,不要用git rm --cached DBConfig.py,应该用git reset HEAD DBConfig.py

昨天误用了git rm --cached xxx.py,push之后发现gitlab上的对应的xxx.py文件也被删除了…赶紧又补回来…

git add的撤销

git add 操作时,会将工作目录中已修改的文件放到暂存区。这时如果你误添加一些不想提交的文件,如何解决?

那么你可以使用命令git reset HEAD <撤销的文件1> ...来取消暂存,将file退回到unstage区,例如:

$ git add.c.txt
$ git reset HEAD c.txt

接着,如果想放弃已经修改的内容,将某个文件恢复到上次commit的状态,只需要使用命令git checkout -- <放弃的文件> ...

如果你是新建的文件,如果要放弃,那么使用git rm <文件>...


git rm 与 git reset的区别

git rm:用于从工作区和索引中删除文件
git reset:用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如:git add,git commit等)。

git rm file_path 删除暂存区和分支上的文件,同时工作区也不需要
git rm --cached file_path 删除暂存区或分支上的文件, 但工作区需要使用, 只是不希望被版本控制。

发布了552 篇原创文章 · 获赞 201 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/103519749
今日推荐