我不确定是否遵循正确的步骤来设置子模块。我想我最初是git add url
,然后是git submodule init
,然后是git submodule update
。
子模块文件夹中似乎没有任何内容,然后我发现正确的命令可能是git submodule update --init
,这使我可以将内容保存在子模块的文件夹中,但是在另一种情况下,我仍然什么也没有,所以我进入子模块的文件夹并执行git pull origin master
,这一次我得到了内容,但是当我回到子模块所在的根项目文件夹时,发现运行git status
时存在未提交的更改(但我根本没有更改子模块,我只是拉了)类似modified: submodule name (untracked content)
,如果我运行git checkout .
,则所有未提交的更改都不会消失。
任何人都可以告诉我该程序出了什么问题以及如何解决该问题? (我不想进行未提交的更改,因为我什么都没做,看来git submodule update --init
不能使我从子模块中获得最新的提交)
编辑: 如果我进入子模块文件夹并输入
git log
我知道了
commit 268df2521e262d5ef1985db0e152cfd94542fe26 (HEAD -> master, origin/master, origin/HEAD)
如果我转到父存储库文件夹,然后键入git ls-tree -r -t HEAD | grep commit
,我将得到
160000 commit 268df2521e262d5ef1985db0e152cfd94542fe26
看来这两个沙是一样的吗?