仅允许子目录中的一些文件使用.gitignore

时间:2013-05-01 05:54:47

标签: gitignore

我有这样的dir结构:

static
    admin
    ajax_upload
    books
    css
    font
    media
    robots.txt
templates
src
build
lib

我希望忽略跟踪目标:

  • LIB
  • 构建
  • SRC
  • 静态

我想允许跟随:

  • 静态/ CSS /自举-styled.css
  • 静态/ CSS / main.css的
  • 静态/ CSS /字体 - * CSS
  • 静态/字体
  • 静态/媒体/为Default.png
  • 静态/ robots.txt的
  • 模板

所以我使用以下.gitignore:

# Ignore
/lib
/src
/build
/static/*

# Allow
!/static/css/bootstrap-styled.css
!/static/css/main.css
!/static/css/font-*.css
!/static/font
!/static/media/default.png
!/static/robots.txt

但它无法正常工作。你能帮助我吗 - 我在这里做错了什么? TIA!

详情

真正的项目结构是这样的:

static
    admin
        css
        img
        js
            admin
    ajax_upload
    books
    css
    font
    media
        uploads
            blog
            gallery
        default.png
    robots.txt
templates
src
build
lib

2 个答案:

答案 0 :(得分:30)

所以,.gitignore适用于我的是:

# Ignore
lib/
src/
build/
static/**/*

# Allow
!static/css/bootstrap-styled.css
!static/css/main.css
!static/css/font-*.css
!static/font/*
!static/media/default.png
!static/robots.txt

答案 1 :(得分:4)

尝试以下方法:

# Ignore
/lib/
/src/
/build/
/static/

# Allow
!/static/css/bootstrap-styled.css
!/static/css/main.css
!/static/css/font-*.css
!/static/font
!/static/media/default.png
!/static/robots.txt

我认为这应该有用。