2011-04-26 83 views
0

我有本地項目這是一個git存儲庫。我已經將這個本地項目添加到Android清單文件。無論何時在我的本地存儲庫中有新的提交,我都可以使用repo sync -n <local project>來獲取我的本地項目。然而,當我嘗試使用repo sync -l <local project>更新工作目錄,我得到一個錯誤無法使用回購更新工作目錄

error.GitError: try rev-list ('^0f4e601043d095c8920dad010e5814ef22a20f45', 'HEAD', '--'): fatal: bad object 0f4e601043d095c8920dad010e5814ef22a20f45

任何人都可以提供指針解決這個問題。

回答

0

我今天早些時候有過這個問題 - 我找不到壞對象,但它似乎是由於所有項目處於無頭狀態後回購自更新而出現的。手動檢查主人,並拉動所有子項目爲我解決了它。

如果你真的很懶,有很多的項目,下面的bash命令可以使生活更輕鬆:

for i in `ls -d */`; do cd $i; git checkout master; git pull origin master; cd ..; done; 

注意:此命令假定:

  • 您在回購的基本目錄和所有子目錄是git項目
  • 您沒有任何未提交的更改(使用回購狀態來仔細檢查此問題)

它可能不會很難讓腳本更智能一些(遞歸,尋找.git目錄等)