Git忽略规则(.gitignore配置)不生效原因和解决方案

Git忽略规则(.gitignore配置)不生效原因和解决方案

Git忽略规则(.gitignore配置)不生效原因和解决方案

重点

.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,或者用git status查看状态,想要忽略的文件还是显示被追踪状态。

原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,

这时候我们就应该先把本地缓存删除,然后再进行git的提交,这样就不会出现忽略的文件了。

需要特别注意的是:

1).gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

2)想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,

对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。

在使用.gitignore文件后如何删除远程仓库中以前上传的此类文件而保留本地文件

在使用git和github的时候,之前没有写.gitignore文件,就上传了一些没有必要的文件,在添加了.gitignore文件后,就想删除远程仓库中的文件却想保存本地的文件。这时候不可以直接使用"git rm directory" ,这样会删除本地仓库的文件。可以使用"git rm -r --cached directory "来删除缓冲,然后进行"commit "和"push ",这样会发现远程仓库中的不必要文件就被删除了,以后可以直接使用"git add -A "来添加修改的内容,上传的文件就会受到.gitignore文件的内容约束。


删除远程仓库已提交的文件,重新推送,一般用于 .gitignore文件 修改配置

bash 复制代码
git rm -r --cached .

# -f 强制删除        
git rm -r --cached . -f        (. 删全部 文件夹或者文件名直接指定删单个)
git add .
git commit -m 'update .gitignore'
git push origin 分支名

git add .的时候他会适配 .gitignore文件内容

方式1:

bash 复制代码
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push origin master

方式2:

bash 复制代码
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin master

拉取

初始化项目

bash 复制代码
git init

配置远程项目地址

bash 复制代码
 git remote add origin https://gitee.com/cplvfx/jjyv1.0.git 

拉取项目
git pull origin 分支名

bash 复制代码
git pull origin master

延伸阅读

1、Git忽略提交规则 - .gitignore配置运维总结

https://blog.csdn.net/Ben_boba/article/details/124922352

2、Git操作:

https://www.cnblogs.com/kevingrace/p/5690241.html

3、git 排除文件或文件夹,Git忽略文件或文件夹

https://cplvfx.blog.csdn.net/article/details/139093207

4、 git:git rm --cached和git rm -f和git restore --staged的区别(附带详细步骤测试)和git diff比较本地分支和远程分支的区别(细分到文件/文件)

https://blog.csdn.net/zhiaidaidai/article/details/137147360

相关推荐
CodexDave15 分钟前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
乐观的Terry1 小时前
5、发布系统-Git 集成
大数据·git·elasticsearch
不怕犯错,就怕不做2 小时前
GIT的简单打patch应用format-patch and git am
linux·git·全文检索
Byron Loong2 小时前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
lar_slw3 小时前
git删除上一次提交
git
leoZ23118 小时前
Git 集成实战完全指南(四):Git 冲突解决
大数据·git·elasticsearch
枫荷1 天前
Git LFS 大文件优化说明
git
techdashen1 天前
不用再反复 stash:用 Git Worktree 同时开发多个分支
大数据·git·elasticsearch
leoZ2312 天前
Git 集成实战完全指南(八):团队协作最佳实践
git
晴雨天️2 天前
Git工具使用指南
笔记·git