2013-07-23 43 views
2

git clean -d -f刪除包含被忽略的文件的目錄。我可以保留忽略的文件並仍然運行git clean -dgit clean -d -f刪除包含被忽略的文件的目錄。我可以保留忽略的文件,並仍然運行git clean -d

例子:

dir\dir2\file1 

的.gitignore

dir\dir2 

git clean -d -f刪除dir和所有它的內容。我希望它意識到我忽略了dir\dir2\file1而不是刪除file1

+0

你很快就會用git 1.8.4和它的***互動***'git clean'模式:http://stackoverflow.com/a/17802455/6309 – VonC

+0

這很有用,但它不完全我在找什麼。我會認爲給git clean有一個-x和-X參數它可以讀取.gitignore文件,如果我沒有指定-x或-X,我希望它將我忽略的文件保留在原來的位置,但它不會「T – Coder

回答

0

我觀察到相同的行爲,找不到它列在一個錯誤。這當然仍然是git 2.0.4中的行爲。

解決方法我發現它在包含被忽略文件的空目錄中添加一個虛擬文件,以使其不再被-d(例如,

/dir 
    /dir2 
    /file1 
    /.marker 

是一個.dotfile它從目錄列表忽略,所以這是相當不顯眼和它保持目錄放。