.gitignore 使用入门

.gitignore

/doc/ 过滤整个文件夹。

*.zip 过滤所有.zip文件。

/doc/info.txt 过滤某个具体的文件。

这样,push的时候,就不会上传了,git仓库中就没有了。

假如我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理,那么我们就需要使用:

/mtk/
!/mtk/one.txt

忽略文件的原则是:

a.忽略操作系统自动生成的文件,比如缩略图等;
b.忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
c.忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

举个栗子:

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa

再看一个案例

# Created by .ignore support plugin
# Logs 日志文件
*.log

# Runtime 缓存文件
Admin/Runtime
Api/Runtime
Cron/Runtime

# config 配置文件
Admin/Conf/config.php
Api/Conf/config.php
Cron/Conf/config.php


# upload 图片文件
Public/site_upload

# vendor 插件文件
vendor
!vendor/composer
!vendor/autoload.php
!vendor/bin

# other 编辑器产生的文件
.idea/
.DS_Store
.buildpath
.project

不得不说,phpstorm的ignore提示的很到位。

.gitignore规则不生效

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

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
原文地址:https://www.cnblogs.com/jiqing9006/p/9035973.html