3 回答

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

TA貢獻1864條經驗 獲得超6個贊
可能的原因
在以下情況下可能會發生這種情況:
子模塊已被編輯
提交的子模塊,將更新所指向的子模塊的哈希
子模塊未推送。
例如發生了這樣的事情:
$ cd submodule
$ emacs my_source_file # edit some file(s)
$ git commit -am "Making some changes but will forget to push!"
此時應該已經推送了子模塊。
$ cd .. # back to parent repository
$ git commit -am "updates to parent repository"
$ git push origin master
結果,遠程用戶可能找不到丟失的提交,因為它們仍在本地磁盤上。
解
通知修改子模塊以推送的人,即
$ cd submodule
$ git push
- 3 回答
- 0 關注
- 3031 瀏覽
添加回答
舉報