git clone https://source.codeaurora.org/quic/lc/chromium/tools/depot_tools
输入以上命令后出现以下错误:
warning: remote HEAD refers to nonexistent ref, unable to checkout
输入 git show-ref查看git配置信息
57ed3aedaef3e9eabf9d8ea19f99ebbe8925b7be refs/remotes/origin/chromium.org/chrome/3865
9c96f7437ed546a93ba8b405d47265e50f1ca31c refs/remotes/origin/chromium.org/chrome/3904
5316f2b377a2c66279abaf35bc3f5971e4852ee4 refs/remotes/origin/chromium.org/chrome/3987
af45aa86aced54e87d3a5f061b504fd486694a27 refs/remotes/origin/chromium.org/chrome/4147
0b92d49c8c3e90e988288a63ea11dc2860387845 refs/remotes/origin/chromium.org/infra/config
06b1ab322c33dc5d5941521d26b24231efd30230 refs/remotes/origin/chromium.org/main
fc66578e93b33c85eeda3d5104d513217ae04be2 refs/remotes/origin/chromium.org/master
从输出的以上内容可以发现,没有类似refs/head/branch_name这样的refs
再次输入git branch -a查看所有分支
remotes/origin/chromium.org/chrome/3865
remotes/origin/chromium.org/chrome/3904
remotes/origin/chromium.org/chrome/3987
remotes/origin/chromium.org/chrome/4147
remotes/origin/chromium.org/infra/config
remotes/origin/chromium.org/main
remotes/origin/chromium.org/master
checkout 某个分支,以remotes/origin/chromium.org/master为例
git checkout remotes/origin/chromium.org/master
创建分支或切换到指定分支
git checkout -b remotes/origin/chromium.org/master
分支重命名
git branch -m remotes/origin/chromium.org/master master
输出:
error: refname refs/heads/origin/chromium.org/master not found
fatal: Branch rename failed
正常情况下,HEAD指向一个branch,而branch又指向一个commit。
detached HEAD state指的是HEAD指针没有指向任何的branch,而是指向了一个commit。
不去管它也可以提交,但是commit链就在git checkout这个commit的基础上展开,如果直接离开到一个branch上的话,这些commits就会被当成garbage,被git garbage collection routine所回收。那么如何保留这些commits?
有下面三种方式:
$ git checkout -b master ,创建一个branch指向这个commit链,然后HEAD指向这个branch,于是HEAD就不是处于detached state。
$ git branch master,创建一个branch指向这个commit链,但是HEAD还是处于detached state。
$ git tag master,创建一个tag指向这个commit链,HEAD还是处于detached state。
这里选择 git checkout -b master ,然后再关联远程分支,这样才可以进行git pull操作
git branch --set-upstream-to=origin/chromium.org/master master
网友评论