2015-01-15 84 views
0

我有一個很大的Git倉庫,裏面有許多應該忽略的隨機文件和目錄。當我運行git status時,我聽到很多噪音。如何在.gitignore中快速合併所有未跟蹤的文件和目錄?

這些文件和目錄不遵循特定模式。我可以手動將它們逐個添加到.gitignore,但這很乏味。

是否有快速的方法將git status返回的許多或全部「未跟蹤文件」添加到.gitignore?這似乎是這樣一個明顯的任務,我想一個解決方案必須存在。

+0

是的,有一種方法:

如下這段代碼被執行。在'.gitignore'文件中,您可以一次忽略很多事情,只是爲了將文件中的某些文件「進一步」取消管理;看到[this](http://stackoverflow.com/questions/25715898/whats-the-difference-between-git-ignoring-directory-and-directory)。不過,對於比這更具體的答案,您需要告訴我們有關工作樹的結構。 – Jubobs 2015-01-15 16:08:37

+0

爲什麼不從'git status'的輸出中突出顯示並複製所有文件路徑(一次)並將它們粘貼到'.gitignore'文件中? – ajp15243 2015-01-15 16:17:49

+0

它可能有助於更好地組織忽略的文件,並將它們保存在一個被忽略的子文件夾中。 – Bruce 2015-01-15 16:27:19

回答

1

您可以創建一個簡單的Git別名,然後調用它像這樣:

編輯:在效應初探到DDD KKK的評論

git config alias.ignore-untracked "! git status -s | grep '??' | perl -pe 's/.{3}/\//' >> .gitignore" 
git ignore-untracked 
0

基於約瑟夫·施特勞斯的解決方案,最終別名定義我正在使用的是:

git config alias.ignore-untracked "! git status -s | grep '??' | cut -d\ -f2- | awk '{print \"/\" \$0; }' | sed '1i # ignore-untracked: $(date)' >> .gitignore" 

這預先增加了gitignore的註釋,指出日期f iles被添加。

git ignore-untracked 
相關問題