2011-11-04 21 views
0

我正在嘗試Git擴展中的基本子模塊功能。我有一個名爲「sub」的存儲庫和一個名爲「super」的存儲庫; sub是super的子模塊。如何瀏覽Git擴展中的子模塊?

當我在Git Extensions中打開超級倉庫時,我可以查看它的歷史記錄,並像往常一樣在其中執行常規任務。我想使用子模塊存儲庫。我如何使用Git擴展來做到這一點?

在Submodules菜單下,我找到了具有「sub」條目的大有希望的「Browse submodule」菜單。但是當我點擊sub時,Git擴展只刷新超級項目存儲庫。它不切換到子模塊存儲庫。

基本上我想要做的就是讓Git擴展向我展示子模塊存儲庫,並讓我在其中提交,分支它,推/拉它等。我該怎麼做?

回答

2

我在Git Extensions郵件列表上詢問了這個問題。原來這是由最新版本的msysgit引起的Git擴展中的一個新bug。它應該在未來版本的Git擴展中修復(修復已經合併到GitHub上的主要Git擴展存儲庫中)。

0

不確定git擴展部分,但您需要將目錄切換到子模塊目錄(它是獨立的存儲庫!),然後才能提交這些更改。

但是,您確實需要首先創建一個分支來保存提交,因爲子模塊repo處於「分離頭部」狀態 - 即它處於特定提交而不是分支的頭部。如果您不這樣做,那麼下一個子模塊更新不僅會覆蓋您的更改,而且您也沒有任何簡單的方法可以找到您之前可能希望合併到其中的更改。

+0

對,我知道子模塊是如何完全獨立的存儲庫。這個問題是關於Git擴展中的一個特性。 –

1

當前版本的Git Extensions(2.43)在其工具欄上有地址欄。所以你可以簡單地在這一行的幫助下更改當前的存儲庫。

但是,還有一個按鈕附近有一個藍色符號。這個按鈕正是你想要的。只需單擊此按鈕並選擇所需的子模塊即可瀏覽。

如果您當前的存儲庫有一個超級存儲庫,它也將顯示在該列表中。 所以這是非常有用的功能,它允許您在子模塊的存儲庫之間進行更改。