我使用下面的命令如何更改git子模塊跟蹤遠程分支?
git的子模塊添加-b BR1 [回購]
的.gitmodules文件條目分支= BR1添加的子模塊。現在我想將分支切換到br2。我可以進入子模塊文件夾並切換分支,但不會更新.gitmodules文件。
我該怎麼做?
我使用下面的命令如何更改git子模塊跟蹤遠程分支?
git的子模塊添加-b BR1 [回購]
的.gitmodules文件條目分支= BR1添加的子模塊。現在我想將分支切換到br2。我可以進入子模塊文件夾並切換分支,但不會更新.gitmodules文件。
我該怎麼做?
Git使用.gitmodules存儲指向子模塊項目的鏈接,但不是它的特定版本。所以當你切換子模塊的分支時,git .gitmodules文件不會改變。
改爲子模塊時,git updates會提交子模塊版本號。如果你看看你的上部模塊
git diff
,你會看到類似
-Subproject commit 829b869657418fdac7964c3671ed9a378f09c032
+Subproject commit 829b869657418fdac7964c3671ed9a378f09c032-dirty
如果你希望每個人都使用新的子模塊的分支,你必須承諾&推動這種變化(新的子模塊提交數)進入你的上層模塊回購。
基本上它就像一個鏈接到特定的子模塊版本。
查看詳情:https://git-scm.com/book/en/v2/Git-Tools-Submodules#Starting-with-Submodules
爲什麼要這樣做?如果你仔細想想,如果你改變子模塊正在跟蹤的分支,那麼是否可能拋棄其他人的代碼呢?子模塊是一個非常棘手的Git區域。您的問題可能有解決方法。 –
我正在一個穩定的分支br1上工作,並且想要在實驗br2上進行測試。如果我不更新.gitmodules文件,其他用戶將無法看到它。 – Rohit