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
未经允许不得转载:肥猫博客 » git 取消文件追踪/撤销git commit暂存区文件/.gitignore文件