簡體   English   中英

GIT子模塊-空文件夾和提交

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM