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

相关推荐
BIBI20497 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
echome88815 小时前
Git 日常救急:撤销提交、找回误删文件和解决冲突
git·版本控制
赵民勇19 小时前
Git命令详解
git
不老刘2 天前
Antigravity 的 New Worktree 模式:给 AI 代理一个安全的“平行工位”
人工智能·git·ai编程·antigravity
光谱SpectrAI2 天前
Windows 也中招:Git Bash 和 Node 仍信任泄露的 eMudhra 证书
git
YIN_尹2 天前
【git原理与使用】git初识与安装
大数据·git·elasticsearch
Leo_Mr2 天前
Vue3 项目配置 Git 提交规范(企业通用方案:husky + commitlint + cz-git + lint-staged)
git
jyOverQ2 天前
Git rebase 和 merge 有什么区别?什么时候该用哪个?
git
晗夜未央2 天前
跨仓库 Skill 换台电脑就失效?用 Git remote 校验项目
人工智能·git·python
Lsetea2 天前
Git访问HTTPS证书不受信任:用URL级sslCAInfo限定私有CA范围
git·https·开发工具·ssl证书·ca证书