3 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
此錯(cuò)誤可能意味著子模塊中缺少提交。即,存儲(chǔ)庫(A)具有子模塊(B)。A想要加載B,以便它指向某個(gè)提交(在B中)。如果該提交丟失了,您將得到該錯(cuò)誤??赡艿脑颍簩μ峤坏囊靡言贏中推送,但實(shí)際的提交并未從B中推送。因此,我將從此處開始。
發(fā)生權(quán)限問題的可能性較小,并且無法撤消提交(如果使用git + ssh,則可能)。
確保.git / config和.gitmodules中的子模塊路徑正常。
最后一件事-在子模塊目錄中:git reset HEAD --hard

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
可能的原因
在以下情況下可能會(huì)發(fā)生這種情況:
子模塊已被編輯
提交的子模塊,將更新所指向的子模塊的哈希
子模塊未推送。
例如發(fā)生了這樣的事情:
$ cd submodule
$ emacs my_source_file # edit some file(s)
$ git commit -am "Making some changes but will forget to push!"
此時(shí)應(yīng)該已經(jīng)推送了子模塊。
$ cd .. # back to parent repository
$ git commit -am "updates to parent repository"
$ git push origin master
結(jié)果,遠(yuǎn)程用戶可能找不到丟失的提交,因?yàn)樗鼈內(nèi)栽诒镜卮疟P上。
解
通知修改子模塊以推送的人,即
$ cd submodule
$ git push
- 3 回答
- 0 關(guān)注
- 3020 瀏覽
添加回答
舉報(bào)