這個問題的解決方案隨時間而發展,但是目前還沒有明確的勝者。競爭者如下:
Git LFS,GitHub支持。
GitAnnex,GitLab支持,但只是企業版。
Git Annex更加成熟。這兩個方案都開源并通過Git的插件機制實現。
還存在著一些其他的系統,這表明它是當前Git的一個尚未解決的痛點。Git Annex在http://git - annex .branchable.com/not/上比較了不同的方案。
【如果需要對媒體文件進行版本控制,你應該開始考察Git Annex。
它用Haskell編寫并且包含在許多發行版的包管理系統里。
還需注意的是這種方案的主要優勢是對媒體文件和相對應的代碼,一起進行版本控制的能力。當與代碼一起時,你可以很方便地檢查不同版本間的代碼。檢查媒體文件的不同更難并且用處不太大。
簡而言之,Git Annex在數據邏輯問題上使用了成熟的方案;增加一個間接層。通過在代碼庫里存儲文件的符號鏈接來實現。二進制文件被存放在文件系統里并被本地工作區以如rsync的其他方式所用。創建這個解決方案當然需要更多的工作量?!?/p>