回答
一種可以替代的,我使用的廣泛CMake的項目中子模塊,是讓所有的模塊,獨立的「庫」,並通過find_package() CMake的命令使用它們(見例如https://cmake.org/Wiki/CMake:How_To_Find_Libraries或https://stackoverflow.com/a/20857070/1274747 )。每個依賴項都提供了自己的查找腳本,它與庫一起安裝,並且依賴項目可以使用它來本地化庫。
項目的方式不直接依賴於特定的「依賴」提交(但仍可以依賴於特定的庫版本,因爲版本依賴項也可以通過查找腳本來處理,請參閱FindBoost.cmake,它們也是如果指定則處理所需的Boost庫版本)。
如果你的項目
D
是促成回購A
和B
,則可以將其添加爲子模塊爲您的項目D
。但是,簽出項目
D
的某個版本時,無法同時將子模塊簽出到某個版本。解決方法是對A
和B
標籤使用D
的相關版本,並執行腳本將結帳A
和B
轉換爲相關版本。如
v3.0
爲D
是關係到A
和B
v2.0
v1.0
的版本,所以你可以在A
和v3.0.2.0
在B
與版本v3.0.1.0
添加標記。當您爲D
結帳v3.0
時,您可以運行腳本來結帳A
和B
,版本以v3.0*
開頭。如果你的項目
D
不利於回購A
和B
,你可以刪除子模塊的關聯。A
和B
的代碼就像您的項目D
的子文件夾和文件夾A
和文件夾B
的版本可以一直與您的項目D
的版本同步。
是的,我正在考慮爲此創建一個自定義腳本。以正確的方式命名它,可以讓你將它用作git擴展:) – Stefano
是否使用git擴展取決於你正在使用哪個工具git repo。如果您使用git命令行來操作git repo,則無法使用git擴展,您可以直接執行腳本來檢出所有相關版本的子模塊。 –
- 1. 用一個父存儲庫替換三個Git存儲庫
- 2. 使用Spring LDAP存儲庫的多個LDAP存儲庫
- 3. 多個源代碼存儲庫
- 4. 在Maven中使用多個存儲庫
- 5. 使用docker-compose與多個存儲庫
- 6. Git:如何使用多個存儲庫?
- 7. 用一個標記替換存儲庫
- 8. 存儲庫模式的替代方法?
- 9. 使用ORM替換存儲庫模式?
- 10. 替代使用多個FloatingActionButtons?
- 11. 多態性替代MySQL存儲過程
- 12. 使用Eclipse存儲庫的替代方案
- 13. 替代使用哈希存儲密碼在數據庫中
- 14. 在Idea Intellij中使用Nexus存儲庫代替公共Maven
- 15. 使用localStorage存儲多個存儲
- 16. 多個用戶的單個存儲庫
- 17. Apache2 svn多個存儲庫
- 18. Git和多個存儲庫
- 19. 多個存儲庫和Heroku
- 20. 多個Git存儲庫
- 21. 創建多個存儲庫
- 22. HDInsight - 使用多個存儲?
- 23. Hg:將多個存儲庫合併爲一個存儲庫
- 24. 將一個SVN存儲庫鏈接到多個Trac存儲庫
- 25. 多個SVN存儲庫或單個公司存儲庫
- 26. 將多個Git存儲庫推送到一個存儲庫
- 27. 替代存儲過程
- 28. MongoDB替代存儲過程
- 29. 使用PCL-CVS使用emacs處理多個CVS存儲庫?
- 30. 如何在另一個存儲庫中使用git存儲庫?
這實際上是語言無關的,不需要提及特定的編程語言。 –
嗨。是的,我知道,我只是爲了以防萬一:) 我知道有一些語言依賴工具,有時可能會有所幫助 – Stefano
'git checkout --recurse-submodules'有什麼問題? – phd