2013-08-05 51 views
0

我遇到了我的.gitignore問題。我有一個目錄樹,像這樣:使用.gitignore

​​

我的.gitignore寫着:

../www/analytics 
../venv/bin 
../venv/build 
../venv/include 
../venv/lib 
../venv/local 
*.pyc 

當我

git add ../*git add -A

git push

我不想startgunicorn.sh或我的analytics dir被推,但我確實需要djostatic。這沒有發生 - 我的gunicorn.sh文件不斷更改爲本地機器。我的錯誤在哪裏?

回答

4

我從來沒有見過任何人在.git子目錄中放置.gitignore文件。據我所知,如果你想將規則應用到整個存儲庫,它應該在根目錄中。

GitHub說以下內容:

請注意,您可以在任何子路徑創建的.gitignore有它的規則 應用在這條道路。有時候,一個空的.gitignore文件被用作空路徑的 佔位符,例如強制git爲您的開發環境生成一個 日誌/路徑。

通過該邏輯,所有這些規則將全部從.git文件夾向下應用。我可以看到你想要做什麼,但我從來沒有見過這樣做。

我會把的.gitignore在庫的根目錄,並將它看起來像這樣:

www/analytics 
venv/bin 
venv/build 
venv/include 
venv/lib 
venv/local 
*.pyc 

我期望做正確的事情。

此外,值得銘記這一點:

注意,git會不會忽略 規則之前被添加到該文件忽視它一個已經被跟蹤的文件。在這種情況下,文件必須 是未跟蹤,通常用git RM --cached名

你可能會需要做的是,如果你已經添加了舊版本的那些你希望忽略的文件。

+1

對晚會來說,但對於那些跟在家裏的人,從git 1.8.2開始,'**'可以用來忽略文件夾中的所有文件,直到無限深度。例如。,'venv/**'。見[這裏](http://stackoverflow.com/questions/1470572/gitignore-ignore-any-bin-directory)。 – franklin

0

也許嘗試將.gitignore放置在主項目的目錄(其中.git目錄是),並在開始路徑時刪除「../」。

如果不幫助嘗試添加

venv/bin/* 

你的.gitignore。