真的,submodule add
和submodule init
有何區別?或者更準確地說,你什麼時候想要使用另一個?submodule add和init有什麼區別?
0
A
回答
1
當您想要將其他git存儲庫導入到當前的git存儲庫(稱爲「超級項目」)時添加。要執行該操作,它會在.gitmodules
中記錄存儲庫的路徑,從而將其添加到索引。
子模塊init將創建記錄在索引中的已經存在的子模塊。這是通過在git中配置索引中找到的路徑來實現的。
地址:
在給定的路徑添加給定存儲庫作爲一個子模塊的變更下一個要提交到當前項目:目前 項目被稱爲「上層項目」。
初始化:
初始化通過複製子模塊名和URL從
.gitmodules
到.git/config
記錄在索引(其中加入 和致力於其它地方)的子模塊。
因此初始化檢查出來的子模塊已記錄在索引,其中克隆你會做上層項目時
git submodule add my_sub_project directory_in_superproject
通常之前添加:在項目內
git clone superproj
那麼:
git submodule update --init
1
當您自己想要將新子模塊添加到項目時,您可以使用git submodule add
。
當您克隆具有子模塊的項目或其他人已將子模塊添加到項目時,您可以使用git submodule init
。
+0
很棒的回答。但那你什麼時候會'git submodule update'? – matanster
相關問題
- 1. git add *和git add。有什麼區別?
- 2. init()和init(_:bool)有什麼區別
- 3. ObjectCache的「Set」和「Add」有什麼區別?
- 4. drupal(add container)和(add forum)有什麼區別?
- 5. Java 9中--add-exports和--add-opens有什麼區別?
- 6. `git add .`和`git add -u`有什麼區別?
- 7. git add有什麼區別?和git add -A?
- 8. MySQL中的「ADD KEY」和「ADD INDEX」有什麼區別?
- 9. ng-init與ng-bind有什麼區別?
- 10. 'git submodule update --init --recursive'VS'git submodule foreach --recursive git submodule update --init'
- 11. Git submodule init async
- 12. Memcache store()和add()之間有什麼區別?
- 13. 在jQuery中,'.add()'和','(逗號)之間有什麼區別?
- 14. 「git clone」和「git remote add」有什麼區別?
- 15. 「git add」和「git update-index」有什麼區別
- 16. JTabbedPane addTab和add之間有什麼區別
- 17. Eclipse中的「mvn spring-boot:run」和「Add to Tomcat server」有什麼區別?
- 18. PowerShell中的Add-PSSnapin和Import-Module有什麼區別?
- 19. jQuery特殊事件中的`add`和`setup`有什麼區別?
- 20. 在FragmentTransaction中使用add()。addToBackStack(),add()。detach()和replace()。addToBackStack()之間有什麼區別?
- 21. git add submodule of remote
- 22. [[NSMutableArray alloc] init]和[@ [] mutableCopy]之間有什麼區別?
- 23. apache.felix.dm包中的init()和start()方法有什麼區別?
- 24. [[alloc] init]和[[thing] retain]之間有什麼區別?
- 25. 有什麼區別`和$(Bash中有什麼區別?
- 26. 有什麼區別? :和||
- 27. &&和||有什麼區別?
- 28. 「/」和「/ *」有什麼區別?
- 29. 有什麼區別:。!和:r!?
- 30. ==和===有什麼區別?
init的含義仍然與以前一樣模糊,引用文檔只是爲了重複它們而分散注意力......爲什麼複製需要在git中進行?如果'init'被跳過會發生什麼?將子模塊放置在存儲庫中有兩個單獨的步驟是什麼理由? – matanster
'.gitmodules'是你如何與他人共享子模塊。如果你用子模塊克隆一個repo,看看'.git/config' - 它不知道子模塊。 'git submodule init'將'.gitmodules'文件中的子模塊導入到本地存儲庫中。 –
@matt add僅放置子模塊的條目,即指針。 init會將條目帶到您的本地存儲庫。跳過init不會允許您使用子模塊(即帶入代碼,提交等)。對於每個子模塊都有一個「gitlink樹條目」,需要分配一個邏輯名稱,該名稱保存在.gitmodules中。我想可能會有一個一步的過程,但這樣你有更多的靈活性和清晰度。但是,如何初始化(即檢出)已存在的子模塊? – g24l