git clone问题: warning: remote HEAD refers to nonexistent ref, unable to checkout

在git clone的时候出现如下warning:

 

 warning: remote HEAD refers to nonexistent ref, unable to checkout

原因是.git目录下/.git/refs/heads不存在.git目录下HEAD指向的文件,这个时候可以用git show-ref命令,可以看到存在别的

eadc2c7d702724e788d8c6bcdb638b6b228e6ab5 refs/heads/another_branch

可以在此目录下使用 git branch -m anoter_branch master,将another_branch修改为master,这样再次克隆的时修就不会再有此warning。

 

还可以通过git rev-parse --all可以看到refs目录下所有的SHA值。

 

可以通过git rev-parse查看某一个branch,tag的SHA值,有没有办法反过来知道SHA的值知道其对应的branch以及tag呢,好像不可能?

 

注意:出现此问题的原因是,在本地将一个git工程拷贝过来,然后以此工程为基础,然后clone过来,由于本地只有my_topic所以clone过来的只有一个my_topic分支,此处不会再clone服务器远端的分支。

 

利用本地的bionic克隆的时候

git clone bionic local_bionic

然后

git remote show origin
* remote origin
  Fetch URL: /home/hebo/work/test/bionic
  Push  URL: /home/hebo/work/test/bionic
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    froyo-prod-bb
    my_topic
  Remote branches:
    froyo-prod-bb tracked
    my_topic      tracked
  Local branch configured for 'git pull':
    froyo-prod-bb merges with remote froyo-prod-bb
  Local ref configured for 'git push':
    froyo-prod-bb pushes to froyo-prod-bb (up to date)
此时看到的远程分支,是以当前克隆的对象为远程的,而bionic自已的远程分支无法再保留,而且所clone的仓库,当前在什么分支,clone在本地checkout出来的就是什么分支。

 

你可能感兴趣的:(版本管理)