2013-05-01 13 views
10

mam dir strukturę tak:Pozostawić tylko niektóre pliki w podkatalogach z .gitignore

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

Chcę ignorować następujące direcotories:

  • lib
  • build
  • src
  • statyczne

Chcę pozwalają następujący:

  • static/CSS/bootstrap-styled.css
  • static/css/main.css
  • static/css/font - * css.
  • static/font
  • static/media/Default.png
  • static/robots.txt
  • szablony

więc użyć następującego .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 

Ale to nie działa prawidłowo. Czy możesz mi pomóc - co tu robię źle? TIA!

Szczegóły

struktura rzeczywistym projekt jest tak:

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

Odpowiedz

16

Tak, .gitignore pracuje dla mnie jest następująca:

# 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 
2

Spróbuj wykonać następujące czynności:

# 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 

myślę, że powinno działać.

+0

po 'git dodać statyczny /' lub 'git dodać static' widzę' następujące ścieżki są ignorowane przez jednego z plików .gitignore : static Użyj -f, jeśli naprawdę chcesz je dodać. śmiertelna: nie dodano plików' – dizpers