首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.gitignore不适用于我的场景

使用.gitignore不适用于我的场景
EN

Stack Overflow用户
提问于 2015-02-23 00:00:00
回答 3查看 65关注 0票数 0

我的服务器中有以下文件结构:

代码语言:javascript
复制
app/webroot/media/avatars/original/1424293016.png
app/webroot/media/avatars/original/usrimg.jpg
app/webroot/media/avatars/thumb150/1424293016.png
app/webroot/media/avatars/thumb150/usrimg.jpg
app/webroot/media/avatars/thumb350/1424293016.png
app/webroot/media/avatars/thumb350/usrimg.jpg
app/webroot/media/avatars/thumb70/1424293016.png
app/webroot/media/avatars/thumb70/usrimg.jpg

我想排除“media”目录中除“media/avatars/thbb70”及其所有文件之外的所有文件。

我可以实现到"avatars“目录,但当我深入研究时,它只包含整个"media”目录。

我的逻辑告诉我应该使用这个.gitignore:

代码语言:javascript
复制
# .gitignore file
app/webroot/media/*
!app/webroot/media/avatars/thumb70/*

提前感谢您的帮助。

EN

回答 3

Stack Overflow用户

发布于 2015-02-23 00:27:29

忽略一个目录会忽略它的所有内容。如果你要打通配符ignore,**通配符可以让你的规范更清晰:

代码语言:javascript
复制
app/webroot/media/**
!app/webroot/media/avatars/
!app/webroot/media/avatars/thumb70/
!app/webroot/media/avatars/thumb70/**

如果您的项目可能会扩展到数百个文件夹中,但如果您不喜欢摘要排除功能,可以通过附加!*/将其关闭

代码语言:javascript
复制
app/webroot/**
!app/webroot/media/avatars/thumb70/**

# whole-directory excludes disabled in the above:
!*/

*只匹配一个级别,所以如果您没有完全忽略某个目录,则必须使用**通配符来通配它的所有内容。

如果git采用不忽略路径来暗示不忽略该路径上的所有目录,那就太好了,但还没有人教它这样做,而且意外的后果总是令人担忧。

如果只想完全忽略特定目录,请在!*/行之后列出这些目录。

代码语言:javascript
复制
# don't do whole-directory ignores in general but make a special exception for any bin/
!*/
bin/
票数 1
EN

Stack Overflow用户

发布于 2015-02-23 20:06:01

您可以按如下方式进行操作。

代码语言:javascript
复制
app/webroot/media/**
!app/webroot/media/**/
!app/webroot/media/avatars/thumb70/**

只要记住先用!app/webroot/media/**/包含media文件夹下的所有目录即可。它不会单独影响忽略结果,因为git不跟踪文件夹,但它可以应用子目录的!规则。

票数 1
EN

Stack Overflow用户

发布于 2015-02-23 00:14:22

手册页声明(重点是我的):

a可选前缀"!“这将否定该模式;先前模式排除的任何匹配文件都将被再次包括在内。如果文件的父目录被排除,则无法重新包含该文件。出于性能原因,Git不会列出排除的目录,因此所包含文件上的任何模式都不起作用,无论它们是在哪里定义的。

所以一个丑陋的解决方案是:

代码语言:javascript
复制
# .gitignore file
app/webroot/media/*
!app/webroot/media/avatars
app/webroot/media/avatars/*
!app/webroot/media/avatars/thumb70/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28659925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档