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

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

本文参考:

https://blog.csdn.net/Q1761991696/article/details/123572766

https://blog.csdn.net/wangshuai6707/article/details/110475811

如果你已经把一个文件或文件夹提交到了 Git 仓库中,不想再被提交,可以这样操作;

单个仓库忽略

1.新建 .gitignore 文件

本地根目录(仓库根目录)新建 .gitignore 文件,

2.编辑 .gitignore 文件

编辑 .gitignore 文件,添加需要排除的文件夹的名称,以及其他需要排除的文件或文件类型,每个名称占一行。

文件内容如下:

复制代码
# 忽略node_modules目录
node_modules/

# 忽略Logs,以及文件名后缀为.log的文件
logs
*.log


# 忽略/dist目录
/dist

# 忽略.env文件
.env

# 忽略IDE的配置文件
.idea/
.vscode/
*.sw*

你可以在仓库的不同子目录中创建多个.gitignore文件。.gitignore文件中的模式相对于文件所在目录匹配。

在子目录中的文件中定义的模式优先于高于根目录中的模式。本地.gitignore文件与其他开发人员共享,并且应包含对存储库的所有其他用户有用的模式。

3.提交 .gitignore 文件

bash 复制代码
git add .gitignore
git commit -m "添加 .gitignore 文件"

4.提交至服务器

bash 复制代码
git push

现在,已提交的文件夹将被排除在 Git 仓库之外,只会出现在本地文件系统中,而不会影响 Git 仓库的状态。

*如果你想从Git仓库中删除已提交的文件夹

bash 复制代码
git rm -r --cached path/to/folder

其中 path/to/folder 是需要排除的文件夹的路径。

执行以下命令,将修改提交到 Git 仓库中:

bash 复制代码
git add .
git commit -m "从Git存储库中排除文件夹"

个人忽略规则

应在.git/info/exclude文件中配置特定于本地仓库且不应分发到其他仓库的模式。例如,你可以使用此文件忽略个人项目工具中生成的文件。

全局.gitignore

Git还允许你创建全局.gitignore文件,你可以为本地系统上的每个Git仓库定义忽略规则。该文件可以命名为任意名称,并存储在任何位置。保存此文件的最常见位置是主目录。你必须手动创建文件并配置Git使用它。

例如,要将~/.gitignore_global设置为全局Git忽略文件,你可以执行以下操作。首先创建文件:

bash 复制代码
touch ~/.gitignore_global

将文件添加到Git配置:

bash 复制代码
git config --global core.excludesfile ~/.gitignore_global

使用文本编辑器打开文件并向其中添加规则。全局规则对于忽略你永远不想提交的特定文件(例如带有敏感信息或已编译的可执行文件的文件)特别有用。

忽略以前提交的文件

你的工作副本中的文件可以被追踪,也可以不被追踪。要忽略先前提交的文件,你需要取消暂存并从索引中删除该文件,

然后在.gitignore中添加该文件模式:

bash 复制代码
git rm --cached filename

--cached选项告诉git不要从工作树中删除文件,而只是从索引中删除它。要递归删除目录,请使用-r选项:

bash 复制代码
git rm --cached filename

如果要从索引和本地文件系统中删除文件,请忽略--cached选项。以递归方式删除文件时,使用-n选项将执行空运行并显示要删除的文件:

bash 复制代码
git rm -r -n directory

调试.gitignore文件

有时候,确定为什么要忽略特定文件可能会很困难,尤其是当你使用多个.gitignore文件或复杂格式时。这是git check-ignore命令的用处,告诉git显示匹配模式的详细信息。

例如,要检查为什么忽略www/yarn.lock文件,可以运行:

bash 复制代码
git check-ignore -v www/yarn.lock

输出显示gitignore文件的路径,匹配行的编号和实际模式。

bash 复制代码
www/.gitignore:31:/yarn.lock www/yarn.lock

该命令还接受多个文件名作为参数,并且文件不必存在于你的工作树中。

显示所有被忽略的文件

带有--ignored选项的git status命令显示所有被忽略文件的列表:

bash 复制代码
git status --ignored

结论

.gitignore文件使你可以从git仓库中排除文件。该文件包含用于描述应忽略的特定文件和目录的模式。gitignore.io是一种在线服务,可让你为操作系统,编程语言或IDE生成.gitignore文件。

相关推荐
微尘寒风34 分钟前
【Git】的安装和使用
java·git
lupai3 小时前
手机在网状态接口实测效果与质量评估
大数据·python·智能手机·api接口
大模型丫丫6 小时前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
大大大大晴天6 小时前
每天认识一个组件:SQL网关Apache Kyuubi
大数据
2601_962218477 小时前
万象生鲜系统冷链物联网接入技术实现生鲜企业温控管理数字化
大数据·运维·微服务·云原生·架构
2601_962074818 小时前
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
大数据·数据库·mysql
2601_962073818 小时前
大数据-240 离线数仓 - 广告业务 测试 ADS层数据加载 DataX数据导出到 MySQL
大数据·数据库·mysql
不会写代码的女程序猿8 小时前
养生馆采购 AI 四诊仪,5000 元预算怎么选?
大数据·人工智能·科技·ai·健康医疗
aiot189189352189 小时前
机场候机大厅高空场景技术红线!蓝牙AOA不能做手机导航??!!
大数据·网络·人工智能·蓝牙aoa
穆利堂-movno19 小时前
郑州新网软件科技有限公司AI 数据源错误纠正反馈
大数据·数据库·人工智能