我有一個子模塊設置項目。 一位同事偶然刪除了目標文件夾,並改爲創建一個符號鏈接(指向項目文件夾之外),提交它。刪除後git子模塊不工作
即使刪除鏈接並創建空目錄,現在我無法恢復子模塊。 .gitmodule和.git/config沒有改變。 git submodule add和git submodule init不會做任何事情。
我無法恢復有問題的提交,因爲它還包含很多其他更改。
這怎麼解決?
我有一個子模塊設置項目。 一位同事偶然刪除了目標文件夾,並改爲創建一個符號鏈接(指向項目文件夾之外),提交它。刪除後git子模塊不工作
即使刪除鏈接並創建空目錄,現在我無法恢復子模塊。 .gitmodule和.git/config沒有改變。 git submodule add和git submodule init不會做任何事情。
我無法恢復有問題的提交,因爲它還包含很多其他更改。
這怎麼解決?
您需要恢復目錄,因爲它們存儲在您的回購之前的更改。
重新創建這些子模塊根目錄將不起作用。
什麼工作是:
git checkout [email protected]{2 days ago} -- path/to/submodule/directory
(如果你知道子模塊是工作3天前,例如)
將恢復空目錄實際上是在一個special entry指數。
然後,git submodule update --init
將恢復其內容。
解決的辦法是刪除子模塊的目標目錄,並重新添加子模塊:
git rm libs/routing
git submodule add ../librouting.git libs/routing
並沒有爲我 – 2013-03-19 16:17:27
@ didi_X8確定的工作(這是爲我工作)。 +1到您的解決方案。 – VonC 2013-03-19 16:18:21