2015-10-21 61 views
0

注:Git的方法:應忽略,但清單文件不是

這不是固定喜歡git rm -r --cached . && git add .其實我是想能僅列出文件。

爲什麼:

有時候,當我編輯的.gitignore而忘記了上面的命令我最終仍在倉庫裏的文件,但應該被忽略的。

什麼:

我想做到的是寫一個shell腳本,即能列出should被忽略,但仍出現在我的文件系統中的所有文件。

結果:

最後,我要實現它向一個持續集成服務器,即要檢查是否從.gitignore規則匹配的是在倉庫裏的文件。

有沒有辦法用手解析.gitignore

+0

如果蟒是可接受的(或作爲靈感至少可用),那麼[這個問題](http://stackoverflow.com/q/25229592/258523 )可能會有所幫助。 –

回答

0

你應該看看git check-ignore --help你可以用它來檢查路徑是否應該包含或排除。從我的理解,做你想做的事你應該使用--no-index選項。

那至少是這個過程的git

該進程的shell端會涉及更多。你有很多選擇。您可以使用find來列出所有文件並將它們管理爲git check-ignore,並根據輸出創建應該排除的文件列表。

這是我的2¢無論如何。

這裏有一個問題SO覆蓋類似的東西Git command to show which specific files are ignored by .gitignore

2
git ls-files --cached --ignored --exclude-standard 
+0

完全忘記了ls文件。這是解決這個問題的最好的解決方案。 – wspurgin

+0

我有'git config --global alias.ls ls-files --exclude-standard' :-) – jthill

+0

不錯,我一定會爲此添加一個別名。感謝分享:) – wspurgin