如果在发出以下警告后如何合并此子模块?
warning: Failed to merge submodule sites/all/modules/contrib/panelizer
(not checked out)
答案 0 :(得分:1)
该错误消息来自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 ”,详细了解如何取回所有您的子模块的内容。
使用最近的git,您可以pull and update in one go:
git alias update_submodules='git pull --recurse-submodules && git submodule update'