2014-01-21 24 views

回答

2

git add "/*.c"應該訣竅。

前導斜槓告訴Git僅查看當前文件夾。

請注意,你應該總是引用這個,或者shell可能會在Git看到它之前嘗試擴展glob模式,這會導致各種片狀行爲。

3

當git處理通配符時,它應該與任何級別的文件匹配。您看到此行爲的原因是因爲如果通配符在當前目錄中匹配,shell將*.c擴展爲明確的文件列表。在這種情況下,Git可以看到並顯式列出.c文件,而不是通配符。

如果shell無法擴展*.c,因爲當前目錄中沒有文件匹配該模式,那麼通配符模式會被傳遞到未執行擴展的Git,並自動執行擴展並匹配子目錄。

如果使用bash,則可以使用shopt -s nullglob使shell將通配符擴展爲空,或者shopt -s failglob產生錯誤,如果模式不匹配,則不運行git add

相關問題