2013-08-24 74 views
3

我嘗試安裝emacs的dotfiles配置文件(https://github.com/dhaley/dot-emacs)。我做了所有像指示(下載並安裝通過BREW的emacs的macport中,repsitory的克隆),現在當我使用命令git的子模塊更新--init我得到以下錯誤:git submodule update --init安裝dot-emacs文件時出錯

$git submodule update --init 
fatal: reference is not a tree: a2bcba9a92873900055dcaff640e4d31a650947e 
fatal: reference is not a tree: 05f9cebc64842efa2968d49adb08330d15c7ffe8 
fatal: reference is not a tree: 89611c7a6947787bf2f591e64e22b7444ea5ed41 
Unable to checkout 'a2bcba9a92873900055dcaff640e4d31a650947e' in submodule path 'override/bbdb' 
Unable to checkout '05f9cebc64842efa2968d49adb08330d15c7ffe8' in submodule path 'site-lisp/auctex' 
Unable to checkout '89611c7a6947787bf2f591e64e22b7444ea5ed41' in submodule path 'site-lisp/drupal-mode' 

一些這些在.gitmodules文件中沒有條目,我手動添加了它。但現在我不知道如何解決這個錯誤。我新來的Emacs和洞點文件的東西,所以如果你能給我一個提示它會很好(在stackoverflow我發現Git submodule head 'reference is not a tree' error,但並不真正瞭解這是否是我的問題,以及如何解決它)

PS:I發送郵件給存儲庫的維護人員Damon Haley,並附上鍊接,因爲我發現沒有討論github存儲庫問題的論壇。

誠摯的問候,並感謝大家的貢獻,這馬麗娟社區,

丹尼斯

回答

2
fatal: reference is not a tree: 89611c7a6947787bf2f591e64e22b7444ea5ed41 
Unable to checkout 'a2bcba9a92873900055dcaff640e4d31a650947e' in submodule path 'override/bbdb' 

這意味着由子模塊引用(這裏git://git.savannah.nongnu.org/bbdb.git)回購不包含提交。
一個可能的原因是當子模塊回購已經看到了它的歷史變化(通過push --force例如)

沒有很多工作要做,除了比分叉https://github.com/dhaley/dot-emacs,並更新你的叉子一個承諾,似乎你兼容(在探索git://git.savannah.nongnu.org/bbdb.git後)。這樣,您可以提交拉請求,請求父回購dot-emacs的維護人員使用您將找到的SHA1更新該子模塊的引用。

+1

謝謝,我去刪除子模塊(http://davidwalsh.name/git-remove-submodule),然後再次添加正確的。似乎工作:-) –

+0

@DennisSeidel確定。請注意,對於刪除子模塊,您也有我的其他答案:http://stackoverflow.com/a/16162000/6309 – VonC