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

相关推荐
阿民不加班12 小时前
【Git】git拉取远端但是本地存在不想提交文件处理
git
Selina K13 小时前
在windows安装git
git
周杰伦fans20 小时前
如何将 Feature 分支同步到 Master 主分支:一次完整的 Git 合并实战
git
jiayi_199920 小时前
git创建new branch
git
__Witheart__20 小时前
通过交互式 Rebase 合并部分提交到远程分支的操作步骤
git
魔都吴所谓21 小时前
【Tools】Repo 工具完整使用手册
git
tianyuanwo21 小时前
跨 Gerrit 项目迁移分支并保留完整历史:一份可操作的 Git 指南
git·代码迁移
玄奕子1 天前
VS Code 上传 GitHub 全流程(Windows 环境):HTTP 与 SSH 两种方案(含常见报错排查)
git·http·ssh·github·嵌入式开发
一只游鱼1 天前
如何让本地的敏感配置文件不上传到git仓库
git·elasticsearch
渣渣馬1 天前
shell的if多条件
git·ssh