2016-11-20 99 views
0

我試圖設置.gitignore但有問題。我有一個目錄flask-test,其中包含子目錄apptmpflask。我想忽略flask目錄。我的init裏面flask-test新的存儲庫:.gitignore不會忽略指定的文件夾

git init 
git remote add origin https://github.com/username/flask-test.git 

我然後創建的.gitignore:

sudo nano .gitignore 

gitignore內容是,像這樣:

flask 

這是正確的嗎? ^或應該是flask/

我再補充,提交的所有文件,並推動:

git add . 
git commit -m "First commit" 
git push -u origin master 

但是當我檢查庫中的「的.gitignore」文件不存在。然後,我嘗試之後增加它像這樣:

git add .gitignore 
git commit -m "Adding gitignore" .gitignore 
git push 

現在這個文件是我的倉庫裏,不過flask目錄仍然存在。我究竟做錯了什麼?

+0

你不應該說'燒瓶/ *'或'燒瓶/'? –

+0

等待。你是什​​麼意思忽略文件不在那裏?它是'.gitignore'的前導期'.',因此只有當您執行'ls -a'時纔可見。 –

+0

看起來您的操作方式與您所描述的順序不同。特別是,看起來好像你在'nano .gitignore'之前做過'git add .'。你確定你按照你在問題中寫的順序做了什麼嗎?它有所作爲。 – janos

回答

2

如果你想忽略文件夾,你必須使用**

例如,如果您希望忽略任何走向深沉調試& Release文件夾:不管當前的位置

**/Debug/ 
**/Release/ 

這會忽略使用該名稱的任何文件夾的文件夾中

+0

我不認爲這是正確的。只有名字後面加上'/'對我來說一直都是足夠的,例如爲Python項目放置'__pycache __ /'.gitignore。領先的'**'工作原理相同,但沒有必要。 –

+0

如果您想要忽略內部文件夾,並且不僅僅是最上面的文件夾,您需要**,因爲您知道您指的是文件夾而不是文件,所以它也是最佳做法。 – CodeWizard

+0

'/'足以區分文件夾...和AFAICT,'**'根本不需要,請參閱[本要點](https://gist.github.com/tangledhelix/9da5a314fffe22e3f3f2dcbe5342be68)。現在,'**'確實有用途,例如'/ foo/**/bar'就沒有其他方法可以忽略隱藏在'/ foo /'目錄下樹中的任何'bar /' - 但是我正在談論這種情況,在這種情況下,不管在哪裏匹配目錄名它發生。 –