恢复已删除的子模块

时间:2015-01-02 19:15:34

标签: git git-submodules

假设我有一个子模块dir1/dir2(通过以下步骤创建)。删除后,如何恢复子模块dir2

git submodule update抱怨子模块不存在,git reset HEAD --hard恢复dir2但不恢复其内容。我按以下方式创建子模块:

mkdir dir1
cd dir1/
mkdir dir2

cd dir2/
touch 1.txt
git init
git add 1.txt
git commit -m "test"

cd ..
git init
git submodule add ./dir2/
git commit -m "adding submodule"

rm -r dir2
**** Now how do I restore dir2 and its contents? ****

2 个答案:

答案 0 :(得分:2)

dir2cd dir2; git init)内初始化git仓库并不会使dir2成为子模块。

它只会使dir2成为嵌套仓库,任何父仓库都会忽略它 删除dir2表示您无法直接检索其内容。

您可以git submodule add /another/path/dir2完成dir2dir1外的 的回购。 然后就可以恢复dir2

答案 1 :(得分:0)

如果你没有提交你的删除,你可以 提交所有其他本地更改,然后执行

git reset --hard