2013-03-18 119 views
2

我有一個子模塊設置項目。 一位同事偶然刪除了目標文件夾,並改爲創建一個符號鏈接(指向項目文件夾之外),提交它。刪除後git子模塊不工作

即使刪除鏈接並創建空目錄,現在我無法恢復子模塊。 .gitmodule和.git/config沒有改變。 git submodule add和git submodule init不會做任何事情。

我無法恢復有問題的提交,因爲它還包含很多其他更改。

這怎麼解決?

回答

3

您需要恢復目錄,因爲它們存儲在您的回購之前的更改。

重新創建這些子模塊根目錄將不起作用。

什麼工作是:

git checkout [email protected]{2 days ago} -- path/to/submodule/directory 

(如果你知道子模塊是工作3天前,例如)

將恢復空目錄實際上是在一個special entry指數。

然後,git submodule update --init將恢復其內容。

+0

並沒有爲我 – 2013-03-19 16:17:27

+0

@ didi_X8確定的工作(這是爲我工作)。 +1到您的解決方案。 – VonC 2013-03-19 16:18:21

1

解決的辦法是刪除子模塊的目標目錄,並重新添加子模塊:

git rm libs/routing 
git submodule add ../librouting.git libs/routing