如何在發生以下警告後合併此子模塊?子模塊合併失敗 - 「未檢出」警告
warning: Failed to merge submodule sites/all/modules/contrib/panelizer
(not checked out)
如何在發生以下警告後合併此子模塊?子模塊合併失敗 - 「未檢出」警告
warning: Failed to merge submodule sites/all/modules/contrib/panelizer
(not checked out)
錯誤消息來自submodule.c
,特別是merge_submodule()
method:
int merge_submodule(unsigned char result[20], const char *path,
const unsigned char base[20], const unsigned char a[20],
const unsigned char b[20], int search)
{
struct commit *commit_base, *commit_a, *commit_b;
int parent_count;
struct object_array merges;
// [...]
if (add_submodule_odb(path)) {
MERGE_WARNING(path, "not checked out");
return 0;
}
而add_submodule_odb()
method內所述子模塊被檢查.git
存在。
因此,正如Jefromi評論的那樣,您可能沒有按照Pro Git book中的描述做git submodule update
。
你應該看到SO問題「Git - easy way pull latest of all submodules」更多關於如何取回你的子模塊的內容全部。
隨着近來混帳,你可以pull and update in one go:
git alias update_submodules='git pull --recurse-submodules && git submodule update'
感謝VonC的詳細回覆;並非常感謝你的別名寶石。我會轉而使用它。 – Sam3k 2012-01-14 02:25:58
...的子模塊簽出? (你有沒有運行'git submodule update'?)子模塊是主存儲庫中的Git存儲庫;必須將它們克隆並在必要時進行更新 - 'git submodule update'是執行此操作的命令。如果該目錄中沒有文件,則不會檢出。 – Cascabel 2012-01-12 19:40:42
我明白了。感謝Jefromi! – Sam3k 2012-01-14 02:25:06