git 取消文件追踪/撤销git commit暂存区文件/.gitignore文件

1.取消文件追踪
对某个文件取消追踪

git rm -r --cached a.txt //删除a.txt的跟踪,并保留在本地

git rm -r --f a.txt  //删除a.txt的跟踪,并且删除本地文件

git rm -r -n --cached 文件/目录名 //列出需要取消跟踪的文件,不会删除文件;-r表示递归,-n表示列出文件

git rm -r --cached D:/WorkSpace/demo/out //取消对out文件夹下文件取消追踪
对所有文件取消追踪

git rm -r --cached .  //不删除本地文件

git rm -r --f . //删除本地文件
示例:追踪后文件是绿色显示,未追踪文件标记为红色

 

git rm -r --cached . 取消对所有文件的追踪后,再次git status查看文件状态;

 

 

2.每次用git status查看状态时总是列出未被跟踪的文件

3.撤销git commit,撤销对本地库的提交
git commit发现提交到本地库有大量文件;

 

而此时git status查看,所以文件都被提交到本地库,暂存区没有文件

 

 

解决:

1.git log //查看提交记录,确定自己的提交内容和要撤回的内容;

2.git reset --soft HEAD^ //将HEAD从顶端的commit往下移动到上一个commit

3.git status 查看当前的修改状态,可以发现上次提交已经被撤回。
当执行完上述操作后,再次git status,发现提交到本地库的文件全部从本地库退回到暂存区

 

4.删除本地仓库,删除后需再次初始化

删除本地仓库,就是找到.git文件,进行删除;ls -la 查看隐藏文件

 

git删除本地仓库命令: rm -rf .git

删除后再次查看;

 

 

5.关于.gitignore文件
如果在创建.gitignore文件之前就已经add或者commit了,那么即使在.gitignore文件中写入新的规则,这些规则也不会起作用。
因为.gitignore文件只能作用于未被跟踪的文件(Untracked Files),也就是那些从来没有被Git记录过的文件(自添加以后,从未 add 及 commit 过的文件)。如果文件曾经被 Git 记录过,那么.gitignore就对它们完全无效。
这时可以先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .

git add . //一次性跟踪所以改动过的文件

git commit -m 'update .gitignore'

 

————————————————
版权声明:本文为CSDN博主「芯辰大海」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42322256/article/details/123933642

THE END