簡體   English   中英

在帶有子模塊的 git 存儲庫中分支

[英]Branching in a git repo with submodules

假設我創建了一個 git 存儲庫,其中包含一個子模塊。 然后我克隆存儲庫(帶有子模塊)並在我的本地存儲庫中創建一個分支。 該分支會包含子模塊嗎? 如果我在 repo 中更改了 2 個文件,f1 和 f2,f1 在子模塊中,f2 在子模塊之外,然后提交我的更改,該提交會包括這兩個文件嗎? 如果我然后推送提交,那會改變遠程子模塊嗎?

  1. 您的新分支將包含子模塊。
  2. 子模塊 - 是一個單獨的存儲庫。 因此,為了保存更改,您需要首先提交到子模塊存儲庫。 然后,您可以向您的主存儲庫提交該子模塊已更改的內容。 總體而言,“主”存儲庫指向子模塊存儲庫的某些特定提交。
cd SubmoduleRepo
git commit --all -m "Change submodule code" // commit changes directly to submodule repo
git push submodule_origin // push changes to remote submodule repo
cd .. // go back to main repository working folder

git add SubmoduleRepo // commit that submodule repo was changed
git commit -m "Updated submodule" 
git push origin // push changes for the main repo

是的,它將包含子模塊,但不會將 f1 提交到子模塊的存儲庫。

將子模塊視為子存儲庫。 它是您當前存儲庫中引用的單獨存儲庫。 想象一下,許多團隊/repo 也通過子模塊引用/使用該存儲庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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