[英]GIT Submodules - empty folders and commits
情況:
我們有一個項目,其中包含存儲在app / modules文件夾中的許多子模塊。 所有子模塊都是獨立的,每組用戶(開發人員)應僅使用子模塊的特定子集。 這可以通過git submodule update --remote --merge app/modules/SomeModule
特定的子git submodule update --remote --merge app/modules/SomeModule
執行git submodule update --remote --merge app/modules/SomeModule
來輕松實現(即不要初始化/更新所有可用的子模塊)。
問題1:
如果某些用戶不需要訪問某些子模塊,則空的子模塊文件夾將仍然存在。 是否可以確保默認情況下不存在空的子模塊文件夾,而是僅應請求創建(例如,在init / update之后)?
問題2:
有關子模塊的更一般的問題-是否真的需要將子模塊的更改提交到主項目中? 我知道它用於將子模塊的提交哈希存儲到主項目,因為它沒有存儲在.gitmodules文件中。 但是我們的子模塊是被跟蹤的分支git submodule add -b BranchName ...
並且開發人員總是使用git submodule update --remote --merge
來獲取最新的子模塊版本,是否將其提交到所需的主項目中? 主要的意義是子模塊和主項目是分開的,因此似乎沒有理由使主項目應該了解子模塊的版本/提交/歷史記錄。
跟蹤子模塊的SHA實際上是整個子模塊的重點。 因此,您可以簽出父級的特定版本/分支並獲取子級的相應版本。
如果您不需要此功能,那么首先不用子模塊會容易得多。
只需將當前擁有的所有目錄添加為.gitignore中的子模塊,每個開發人員都可以使用常規git clone
克隆其所需的存儲庫。
這將解決您的兩個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.