2012-04-10 186 views
4

我有一堆源代碼的git倉庫,並且編譯了一堆二進制文件。二進制文件全部列在合適的.gitignore文件中,不包括在回購中。運行git存檔時忽略.gitignore

但是,我想分發包含所有二進制文件的源代碼+二進制文件快照zip文件,但不包含.git /目錄。

這似乎像自然的方式來創建一個快照zip文件將

git archive -o archive.zip 

但是,這並不包括任何這是在的.gitignore二進制文件。

關於如何使用git存檔完成此操作的想法? (我的解決方法是手動創建一個包含.git /目錄以外所有內容的zip壓縮文件)

回答

1

我不認爲你可以使用'git archive'來達到你希望實現的目的。 'git archive'對提交起作用,而你的二進制文件根本不可見。注意'git archive'是如此的以提交爲中心,你可以直接在一個沒有源控制文件存在的裸倉庫中直接使用git archive。

0

作爲GoZonerstates,這不是可以用git archive完成的任務。

使用正確的工具進行正確的任務。我也做了一些非常相似的事情,並有一個Perl腳本來創建包含源代碼和編譯內容的存檔。

只需拉上了這是在編譯過程中創造一切可能不是你想要什麼:

  • 如果要交出一個圖書館的人,他將只關注在圖書館和一些標頭能夠使用庫。例如,無需存檔目標文件和其他中間內容。

  • 如果您希望您的受衆能夠自行構建庫,請包括來源,所需的項目文件以及可能的預構建二進制文件。

  • ...

所以,從我的經驗,我建議把你所選擇的腳本語言和運用語言的提供機制,以創建您的通訊。這樣做,您還可以在您的發行版中創建不同的文件夾結構,而不必與磁盤上的結構相匹配。

要注意從中歸檔文件的創建git的版本,你可以存儲在zip文件中註釋的修訂:

screenshot

+0

如何使用Git歸檔保存有何評論? – alexis 2015-07-28 21:25:02

+0

@alexis:你不能。顯示的檔案是使用Perl腳本創建的。 – eckes 2015-07-29 04:13:16