ag4ve
ag4ve

Reputation: 127

ambiguous refmane in a dirty repo

This is a test repo, so I could just delete it or commit and be done with it. But, I'm annoyed that I can't reset or stash the changes and fix the repo (ambiguous refmane):

swilson@swlap1:~/gits/test$ git status
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
# Not currently on any branch.
# Changes not staged for commit:
#       modified:   test
#       modified:   test2
#
no changes added to commit

Ok, so try to make the repo clean:

swilson@swlap1:~/gits/test$ git reset --hard
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
HEAD is now at 374f306 test2 id

Nope. Ok, try to stash changes:

swilson@swlap1:~/gits/test$ git stash
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
Saved working directory and index state WIP on (no branch): 374f306 test2 id
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
HEAD is now at 374f306 test2 id

Nope. So, try to just delete the branch:

swilson@swlap1:~/gits/test$ git branch -d HEAD
error: Cannot delete the branch 'HEAD' which you are currently on.

And Nope. Where from here?

[EDIT 1]

swilson@swlap1:~/gits/test$ git branch foo
warning: refname 'HEAD' is ambiguous.
fatal: Ambiguous object name: 'HEAD'.

[EDIT 2]

swilson@swlap1:~/gits/kore_tools.git/test$ git branch -a
* (no branch)
  master
  mergetest
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

Upvotes: 2

Views: 386

Answers (1)

Vlad Nikitin
Vlad Nikitin

Reputation: 1951

HEAD is not a branch - it is pointer to your current location in the history.

  warning: refname 'HEAD' is ambiguous.

means that your current location (HEAD) isn't bonded to any branch. You can use

git branch <branch-name>

to create a new brunch from your current location and this message will disappear

Upvotes: 1

Related Questions