2014-04-07 99 views
40

我所做的:的.gitignore並沒有忽視目錄

我認爲有從引起這個問題,並阻止我能夠輕鬆地使用git命令行,甚至git的GitHub的貴一些奇怪的配置-bash。

我結束了剛卸載github和git,然後重新安裝只是git的Windows。我現在已經有了一切從命令行運行(除了我從git-bash運行的ssh之外)。 github gui更容易也更可靠。

感謝mu無花時間來弄清楚這一點。我沒有最終使用他的答案,但如果我不需要重新安裝git,那將是我需要做的。


我在本地機器上使用github gui。我只注意到我正在做的一個提交就是更新我最近更新的所有節點模塊。我建立了我的.gitignore來忽略整個node_modules/目錄。

我不知道該怎麼做。包含在.gitignore中的所有文件類型都被忽略。這只是它似乎忽略的目錄。

這裏是我的.gitignore文件:

################# 
## Sublime Text 
################# 

*.sublime-project 
*.sublime-workspace 

################# 
## Images 
################# 

*.jpg 
*.jpeg 
*.png 
*.gif 
*.psd 
*.ai 

################# 
## Windows detritus 
################# 

# Windows image file caches 
Thumbs.db 
ehthumbs.db 

# Folder config file 
Desktop.ini 

# Recycle Bin used on file shares 
$RECYCLE.BIN/ 

# Mac crap 
.DS_Store 

################# 
## Directories 
################# 

dev/ 
cms/core/config/ 
node_modules/ 
+0

是什麼混帳'的status'輸出?加上這個問題... –

+0

我對此一無所知 –

+0

轉到您的終端,並在存儲庫中運行'git status'。無論輸出是什麼,都把它們放在這裏。 –

回答

127

你必須忽略規則中的拼寫錯誤 - 你無視node_modules/代替node_module/

編輯

由於node_modules目錄已經跟蹤作爲存儲庫的一部分,.gitignore規則並不適用於它。

你需要使用

git rm -r --cached node_modules 
git commit -m "removing node_modules" 

可以在git-bash運行上面的2至untrack從git的目錄。

在此之後,.gitignore規則將忽略該目錄。

請注意,一旦您進行更改,這將從您的其他倉庫中刪除目錄node_modules。只有您提交的提交的原始倉庫仍然會有node_modules文件夾。

+0

這是不是拼寫錯誤。節點創建的目錄是'node_modules /' –

+0

,忽略規則是'node_modules',在你的問題中,開始時它是'node_module'。 –

+0

對'dev'文件夾工作做了忽略規則嗎? –

11

如果文件已經被跟蹤,.gitignore文件不會覆蓋這個。您將需要使用git rm --cached <files>

參見git rm的全部細節在 https://www.kernel.org/pub/software/scm/git/docs/git-rm.html 我就遇到了這個一次或兩次的git自己早期,這是不太我所期待的任何。

+0

如果我們忽略OP問題中的拼寫錯誤問題,這是對問題標題的更全面的解答。對於到達w/search的用戶很有用。 –

+0

這是比流行的正確答案! –

2

如果使用節點項目的工作,我喜歡這個.gitignore

# See http://help.github.com/ignore-files/ for more about ignoring files. 

# dependencies 
node_modules 

# testing 
coverage 

# production 
build 

# misc 
.DS_Store 
.env 
npm-debug.log