warning: remote HEAD refers to nonexistent ref, unable to checkout.
git clone 时提示 wraning, 并且 Contacts 模块的代码并没有下载到工作区。
原因:
git 目录下.git/refs/heads 不存在 HEAD 指向的文件,这个时候可以用 git show-ref 命令查看获得如下打印:5fa0b60252ca2c10fa3c2e12780d351c047c802d refs/remotes/origin/branch_qc_origin5fa0b60252ca2c10fa3c2e12780d351c047c802d refs/tags/XXXXXXXXXXXX48dee3a5f7b9cac98349e949275c652e02b0b67e refs/tags/PXXXXV0.0.0B01-bringup505a9bb0c6d815e6db561f7cb7ed0e20cd73ddde refs/tags/PXXXX_02550_201309260427e2b211a3c9d8dabec9fe1018b4f7db5c953832ea refs/tags/PXXXX_bsp_02550_2013092604220848e8b7922c78dbb364aa0e7c1b8375d16a70a3 refs/tags/branch_PXXXX_02550_2013091901027384803be7c8866393b96ebaaa7e1b2b119654e7 refs/tags/branch_PXXXX_02550_201309200102480f444dd26bb238aeaacf15da748ad861ea9378 refs/tags/branch_PXXXX_02550_201309210102…… 可以看出,全部是标签 tag,并没有类似 refs/head/branch_name
远程仓库可能没有 master 分支
解决办法
git branch // 输入出空
git branch -a // 输出 remotes/origin/dev
git checkout remotes/origin/dev // checkout 的是 git branch - a 输出的内容
// 这样通过 ll 命令查看,Contacts 代码下载到工作目录了
// 接着创建分支:
git checkout -b remotes/origin/dev
git branch // 可以看到输出 *remotes/origin/dev 了,不再为空
git branch -m remotes/origin/dev master // 重命名分支叫 master
git show-ref // 命令查看也能看到 head 了
解决成功