我們有一個非常常見的庫將被很多小型項目所使用。目前,我們使用子模塊將庫添加到小型項目中,稍後的小型項目將用作擴展特性項目的子模塊等等。如何使用GIT處理深嵌套項目中的共享庫
然後問題出現了,項目越來越大。它有許多嵌套子模塊,其中一半以上現在是公共庫。當我查看超級項目時,我不想查看數百次相同的公共庫。
是否有更好的方式與GIT做到這一點?
謝謝。
我們有一個非常常見的庫將被很多小型項目所使用。目前,我們使用子模塊將庫添加到小型項目中,稍後的小型項目將用作擴展特性項目的子模塊等等。如何使用GIT處理深嵌套項目中的共享庫
然後問題出現了,項目越來越大。它有許多嵌套子模塊,其中一半以上現在是公共庫。當我查看超級項目時,我不想查看數百次相同的公共庫。
是否有更好的方式與GIT做到這一點?
謝謝。
嗯,看來你不能用普通的git(w/submodules)來做,因爲子模塊緊緊地綁定到一個項目上。在這個配置中,所有的項目必須同時切換到共享庫的下一個提交,庫文件夾的路徑是提交等的一部分。然而,您的用例需要構建配置不會成爲源樹,而是一個外部實體。 Android OS開發人員創建了一個名爲Repo
的項目,該項目將獨立項目連接到構建配置。因此,對於組件的每種可能變體,都會創建一個單獨的構建配置,然後獨立於組件源本身獨立演變。
你可能想看看using git subtree博客文章比較使用子樹而不是子模塊。
我們不使用子樹或子模塊。相反,我們通過使用Maven存儲庫來解決這個問題,我們在這個存儲庫中發佈常見的jar文件這與一個可以讓你聲明版本化依賴關係的構建系統一起解決了很多問題。