Why does Git tell me “Not currently on any branch” after I run “git checkout origin/<branch>”?

。_饼干妹妹 提交于 2019-11-26 16:43:09

The output of git status indicates that your working directory is clean; good.

Now, by running

git checkout origin/web-zach

you are attempting to check out a remote-tracking branch, called origin/web-zach; it's a special type of branch, local to your repo, that keeps track of the corresponding branch, web-zach, living in the remote repository called origin.

However, the HEAD reference (which you can think of as a You-are-here marker on a map) cannot point to a remote-tracking branch; only to a "normal" local branch, or to a commit directly. When you attempt to check out a remote-tracking branch, the HEAD reference ends up pointing directly at the tip of the remote-tracking branch (i.e. the commit to which that remote-tracking branch points):

When HEAD does not point to a "normal" local branch, but points to a commit directly, you end up in so-called "detached-HEAD state". It's not the end of the world, but avoiding landing in that state as much as possible (at least at the beginning of your Git learning) will likely spare you some surprises.

To remedy the situation, you need to reattach HEAD to some local branch. Here, you may want to create and check out such a local branch, by running, for instance

git checkout -b web-zach

HEAD will then be pointing at the newly created local branch called web-zach:

Then, you should get

$ git status
On branch web-zach
Untracked files:
  (use "git add <file>..." to include in what will be committed)
      .cordova/config.xml
      www/languages/pt/sounds/
nothing added to commit but untracked files present (use "git add" to track)

After that, you'll be free to make changes, stage them, commit, and (if you have write access to the remote repo corresponding to origin and no one else has pushed anything to origin/web-zach since your last git fetch), push, using

git push -u origin web-zach
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!