我有一个 git 项目,其中包含我从公共只读存储库克隆的 git 子模块(即我无法推送到该存储库)。是否可以提交该子模块?这是我尝试这样做的方法
[main]$ cd sub
[sub]$ git checkout master
[sub]$ echo test > new-file
[sub]$ git add new-file
[sub]$ git commit -m 'added a new file'
[sub]$ cd ..
[main]$ git add sub
[main]$ git push origin
到目前为止,一切都很好。现在的问题是当我转到另一台计算机并执行以下操作时:
[main]$ git pull
[main]$ git submodule update
但它失败了fatal: reference is not a tree: af232...
。我认为这会起作用,因为当我git push origin
在 main 中执行时,它似乎也会推送子模块的所有对象(毕竟它们在 main 的 .git 目录中)。但显然,当第二台计算机拉动时,它并没有接收到这些新对象。