我在使用Git子模块时遇到了问题。
每当我从上游存储库接收到一个新的子模块引用时,执行git submodule update
命令会给出以下结果:
fatal: reference is not a tree: dd208d46ecdd1ac0d2b2594a610fe4c9150fece1
Unable to checkout 'dd208d46ecdd1ac0d2b2594a610fe4c9150fece1' in submodule path 'submodule/path'
需要注意的是,子模块具有多个远程仓库,其中上游远程仓库应该用于更新子模块引用树。我猜我的问题就在那里,但我不确定。
我的设置如下:
Git 项目
远程仓库:
origin
(我的 Git 分支)upstream
(项目存储库)
子模块“module”有以下远程仓库:
origin
(我的 Git 分支)upstream
(项目存储库)
有人知道是什么原因导致了我的问题吗?
rebase
到更新的master
之前,我需要做的事情又多了一项,那就是撤销子模块的意外更改。目前为止,我需要运行以下命令:git submodule foreach git fetch && git submodule deinit -f . && git submodule update --init
。 - ijoseph