2011-09-30 218 views
16

可能重複:
gitignore without binary files如何讓.gitignore忽略沒有擴展名的編譯文件?

編輯:的gitignore without binary files

當你編譯,比方說,一個Haskell文件,(test.hs),使用ghc --make test.hs,結果是test.hi杜佩和test。我只想添加並提交源test.hs,同時將test.hitest保留在存儲庫之外,但與源文件位於同一目錄中。 test是問題,我該如何指定.gitignore忽略沒有擴展名的已編譯文件?

+2

'echo「* .a」>> .gitignore'並用'ghc --osuf a --make test.hs編譯' –

+0

謝謝@Eric Wilson,我先搜索了一下,但沒有看到那個。 – Kurtosis

+1

@KingCrunch,呵呵,是的,但我更喜歡懶惰的'git add。'如果可能。 – Kurtosis

回答

6

只需將文件名添加到您的.gitignore文件中即可。例如:

$ git ls-files --other --exclude-standard 
test 
$ echo test > .gitignore 
$ git ls-files --other --exclude-standard 
$ 

.gitignore不關心擴展名。它只是匹配模式。

+4

謝謝,考慮到,但我在項目的開始,將有很多這些文件名。如果沒有更好的選擇,將訴諸於此。 PS - 不知道ls-files命令,但是當我運行它時,它仍然在輸出中包含.hs和.txt文件。將檢查出手冊頁,並玩一下。 – Kurtosis

+0

我剛剛使用了'ls-files',因爲輸出的內容不夠詳細,這對於這個特殊的例子來說很不錯。如果您無法通過名稱或模式識別文件,那麼您的運氣非常不好。如果你可以把所有的輸出文件放到一個特定的目錄中,你可以忽略該目錄,或者你可以編程生成你的'.gitignore'文件作爲你的構建過程的一部分。 – larsks