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

相关推荐
Bigger15 小时前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP1 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思2 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享2 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立2 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003962 天前
git切换当前分支到远程分支
git
ON10N2 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code
Lunar*3 天前
告别臃肿!使用 git-filter-repo 优雅清理 Git 历史记录
git
tq10863 天前
agent 记忆 = markdown + json + git
人工智能·git
何以不说话3 天前
DevOps、Git 和 GitLab
git·gitlab·devops