簡體   English   中英

git checkout版本,包括子模塊

[英]git checkout version including submodules

如何檢出git repo及其子模塊?

例如,我有一個回購A,帶有一個子模塊B,提交歷史如下:

  • f7fe0a4 A,bcbaec2 B(最新)
  • 206c8dd A,bcbaec2 B
  • 0fd667c A,bcbaec2 B
  • 0ec21a1 A,e79fea0 B(舊版本)

我想暫時回到舊版本的A,所以在A和B中隱藏了本地更改,然后git checkout 0ec21a1

但是我仍然在最新版本的子模塊上。 我希望子模塊根據父版本進行更新。 從這個問題我對子模塊標簽的理解是,在簽出父級時git不管理子模塊,這是正確的嗎?

我的實際提交歷史更加復雜,並且有幾個子模塊。 有沒有辦法確定在A的提交xxx中使用了哪個版本的子模塊B? 我可以通過比較git日志來獲得大概的版本,但這很痛苦。

git checkout 0ec21a1 --recurse-submodules將根據存儲在父項目A中的提交更新子模塊B的內容(如果已經初始化)(在這種情況下,將檢出e79fea0

暫無
暫無

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

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