將src代碼保存到SCM中毫無疑問,但生成的構建文件如何?考慮到你有許多差異化版本的客戶,並且可以接觸到它們,將它們存入一個文件系統,將它們保存到SCM中是一種很好的做法嗎?將構建的二進制文件保存到SCM中
回答
當然,你將無法查看二進制文件的diff文件,但任何類型的文件可以被放入版本控制。
我從來沒有在SVN二進制文件的一個問題,但如果你不小心,在一些其他的SCM(GIT,可能還有其他),他們可能會損壞。
如果您使用的是SVN,則需要考慮的另一件事是,無論何時您上傳新版本的二進制文件,您的回購所使用的空間量都會隨二進制文件的大小而增長。發生這種情況是因爲它不能區分二進制文件,因此每個連續的副本都必須保存完整。因此,如果服務器輔助存儲空間有問題,或者您的二進制文件很大,您可能需要考慮替代解決方案。
所以...你使用SVN嗎? :)
我沒有使用Maven和不會使用它。是的SVN是我的供應鏈管理。我知道二進制文件的副本,這不會是一個問題,因爲新版本將成爲其他路徑中的一個完整的新文件。我不會使用svn來「版本控制」我的版本,就像建立一個可信的文件系統一樣。 –
是的,我從來沒有任何麻煩保持在SVN的二進制文件。它看起來不是最優雅的解決方案,但它應該工作。 –
Git不會破壞二進制文件。這種觀念來自哪裏? – Novelocrat
您不應該在版本控制中存儲生成的二進制文件。它們應該是使用存儲庫中的構建腳本編譯和捆綁存儲庫中的源代碼的輸出。如果您的構建由於某種原因無法重現,請修復原因。不要濫用版本控制,將其應用於不發展的工件。
請注意,這是所有參考您二進制文件。如果您有外部依賴關係,將它們保留在版本控制下有時是合理的,因爲它們是構建過程的輸入。這將是第三方庫或工具鏈組件等。
如果你只需要你過貨的客戶有什麼備份,滴在同一個備份文件系統,你把你的資料庫上完整的圖像或檔案。將它們保留在文件系統頂層的VCS多餘的包裝層中沒有什麼特別之處。如果有的話,這是不太可靠的,因爲還有一點可能的腐敗。無論哪種情況,如果您關心那些存檔構建的完整性,那麼您應該在它們運輸時將它們加密散列,並將它們記錄在檔案旁邊,以便稍後驗證它們。如果您確實是偏執狂,請使用未保存在該文件服務器上的私鑰簽署校驗和文件。
- 1. 保存到二進制文件
- 2. Rails:將二進制字段的內容保存到文件中
- 3. vb.net將網絡二進制文件保存到文件
- 4. 如何將樹數據結構保存到Haskell中的二進制文件
- 5. 將多個結構保存爲二進制文件(C)
- 6. 在RStudio構建二進制文件之後將二進制文件移動到本地存儲庫
- 7. 二進制文件:如何將.csv保存爲二進制文件.dat
- 8. 保存二進制文本文件
- 9. 將結構保存在二進制文件中並只讀取C++中的值
- 10. 如何將Excel HTML文本文件保存到Excel xls二進制文件中?
- 11. 將「結構」數據存儲到二進制文件
- 12. 將二進制文件從httppostedfile保存到blob
- 13. 如何將矢量保存到二進制文件?
- 14. java將二進制代碼保存到文件
- 15. ActionScript 3:如何將二進制數據保存到文件
- 16. 如何將二進制表示保存到文件
- 17. 將二進制文件保存到數據庫
- 18. 將數據保存到二進制文件
- 19. 將二進制信息保存到文件
- 20. 將數據保存到二進制文件
- 21. 將二進制文件添加到Jenkins管道構建?
- 22. 從SQL Server保存二進制文件
- 23. 將二進制文件保存爲文件
- 24. 保存二進制文件到文件夾?
- 25. 如何將字節數組保存到java中的二進制文件中
- 26. 將遊戲數據保存到c#中的二進制文件中#
- 27. 在c中保存一個二進制文件到RAM#
- 28. 將pdf文件的二進制內容保存爲javascript變量
- 29. Javascript將二進制數據保存爲ANSI編碼的文件
- 30. 轉:如何將git修訂版添加到構建的二進制文件中?
請您詳細說明一下。 –
我可以說一個JAR,它是我的「二進制」,mysoft-1.0.0.jar並將其保存在SCM /versions/mysoft-1.0.0.jar中。明天我會做一個新版本,而不是覆蓋同一個文件(允許scm版本控制二進制文件),我會寫另一個文件mysoft-1.0.1.jar。我想使用SCM作爲一個安全的文件系統(因爲我的服務器經常被備份,維護等等)。 –
你可能會發現這個答案在這種情況下很有幫助。[以svn或git的形式存儲jar文件的最佳實踐]( http://stackoverflow.com/questions/3329041/best-practice-to-store-jar-files-in-vcs-svn-git) –