解釋哪個.gitignore規則忽略了我的文件有沒有辦法看到為什么一些文件被git忽略(即.gitignore文件中的哪個規則導致文件被忽略)?想象一下,我有這個(或更復雜的場景,有數百個文件夾和數十個.gitignore文件:/-.gitignore-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt如果我運行git add folder/subfolder/file.txtgit可能會抱怨它被忽略:The following paths are ignored by one of your .gitignore files:folder/subfolder/file.txtUse -f if you really want to add them.有沒有辦法知道哪一個可能.gitignore有規則忽略這個文件,還顯示規則?喜歡:The following paths are ignored by your folder/.gitignore file (line 12: *.txt)folder/subfolder/file.txtUse -f if you really want to add them.要不就:$ git why-is-ignored folder/subfolder/file.txtfolder/.gitignore:12:*.txt
3 回答

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
git check-ignore -v filename
有關更多詳細信息,請參見手冊頁。
原始答案如下:
git目前不提供此類內容。但在看到你的問題后,我做了一些谷歌搜索,發現在2009年,這個功能被要求并部分實施。在閱讀完線程之后,我意識到要正確地完成這項工作并不會太多,所以我已經開始研究補丁并希望在接下來的一兩天內完成。我準備好后會更新這個答案。
更新:哇,這比我想象的要難得多。git
排除處理的內臟非常神秘。無論如何,這是一個幾乎完成的一系列提交,適用于今天的上游master
分支。測試套件已完成99%,但我還沒有完成--stdin
選項的處理。希望我能在本周末管理它,然后將我的補丁提交到git郵件列表。
與此同時,我絕對歡迎任何能夠這樣做的人進行測試 - 只需從我的git
fork中克隆,檢查check-ignore
分支,并正常編譯它。
更新2:已經完成了!最新版本在github上面,如上所述,我已經將補丁系列提交到git郵件列表進行同行評審。讓我們看看他們的想法......
更新3:經過幾個月的黑客攻擊/補丁評論/討論/等待,我很高興能夠說這個功能現已達到git的master
分支,并將在下一個版本中提供(1.8.2,預計8日2013年3月)。這是check-ignore
手冊頁。哎呀,這比我想象的要多得多!
更新4:如果您對這個答案如何演變以及該功能的實現感興趣,請查看GitMinutes播客的第32集。
- 3 回答
- 0 關注
- 1100 瀏覽
添加回答
舉報
0/150
提交
取消