我想要一個主要由二進制文件組成的git倉庫。在git倉庫中有效存儲二進制文件
我需要跟蹤更改,添加和刪除的文件到存儲庫,但我不希望git版本自己的文件的內容。
換句話說,我只需要讓git跟蹤更改(更改日誌),而不是內容。
這甚至可能與git?
我應該使用別的東西嗎?
我想要一個主要由二進制文件組成的git倉庫。在git倉庫中有效存儲二進制文件
我需要跟蹤更改,添加和刪除的文件到存儲庫,但我不希望git版本自己的文件的內容。
換句話說,我只需要讓git跟蹤更改(更改日誌),而不是內容。
這甚至可能與git?
我應該使用別的東西嗎?
git是一個內容跟蹤器,所以如果你不想跟蹤內容,它聽起來像是這個工作的錯誤工具。不過,我不確定如何在不跟蹤內容的情況下跟蹤文件更改。
如果您不想存儲文件夾,那麼您可以在文件上使用二進制diff工具,然後將輸出提交到版本控制中。然後可以將任何文本更改日誌條目輸入到提交消息中。
也許我不明白你的問題,但如果你在文本文件中存儲所有文件的時間戳呢?然後,您可以僅在版本控制中存儲該文件,並讓您的VCS區分它的不同版本。
從@Tobu's answer礦洞這個related question:
要版本和傳播的二進制文件,而無需實際將它們存儲在混帳,嘗試git-annex。
但我不想讓git版本化文件本身的內容。
這正是Git Large File Storage (LFS)所做的(由GitHub,2015年4月)。
該項目爲git-lfs(見git-lfs.github.com)與服務器支持它一個測試:lfs-test-server:
您可以在git倉庫元數據只存儲,以及大文件的其他地方。
大文件分別同步到一個可配置的Git LFS服務器通過HTTPS,這樣你就不會在你把你的Git倉庫的限制。
大文件只在簽出時從服務器同步,因此當不需要時,本地存儲庫不會承載每個文件的每個版本的權重。
存儲在Git中的元數據是可擴展的以供將來使用。它目前包含文件內容的哈希值和文件大小,以便客戶端可以在下載時顯示進度條或選擇不進行大量下載。
爲什麼你不想專門跟蹤內容? – 2011-01-31 11:46:21
我不知道@Dema的原因是什麼,但是git-annex爲此描述了兩個用例:http://git-annex.branchable.com/ – toolbear 2011-04-21 22:26:14
這是一個http://stackoverflow.com/questions的詭計/ 540535/manage-large-binary-files-with-git – dbn 2013-02-26 22:04:10