給定一個簡單的測試庫與一個有兩個文件,a
和b
承諾,我能得到的具體文件列表:如何從git檔案中排除文件?
$ git ls-files a
a
或所有文件的列表中排除特定的文件:
$ git ls-files . ':!b'
a
我可以創建的具體文件的存檔:
$ git archive HEAD a | tar tf -
a
但我不能創建的存檔LL文件排除特定文件:
$ git archive HEAD . ':!b' | tar tf -
a
b
使用的特定文件歸檔的選項在我的真實資料庫我的選擇,因爲它超過了最大命令行參數的長度。
我知道我可以通過export-ignore
屬性存儲要排除的文件列表.gitattributes
,但列表是動態生成的。我可以自動更改文件,但更改在另一次提交之後纔會被提取。
有沒有其他的調用工作,無需另一次提交?
感謝您的詳細解答。我認爲'.git/info/attributes'不一定是最合乎邏輯的方法,但它最適合我已有的,如果將來我還需要更多東西,我可以將其更改爲'tar --delete' 。 – hvd