To fix this error, remove the following file YOURPROJECT/. git/refs/remotes/origin/master, and then run git fetch to download it again. It will solve your problem.
What is Origin (or Remote Head) in Git? The word origin is an alias that Git created to replace the remote URL of a remote repository. It represents the default branch on a remote and is a local ref representing a local copy of the HEAD in the remote repository.
I encountered this recently when someone on my team deleted our old development branch from the remote. I ran this command to check the status of HEAD:
$ git symbolic-ref refs/remotes/origin/HEAD
refs/remotes/origin/old_dev
This command output the name of the old development branch, which no longer exists.
I fixed the warnings using this:
$ git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/new_dev
(Where "new_dev" is a branch name. Replace it with the name of the branch you want HEAD to point to.)
This is a simpler solution than symbolic-ref.
Since you may have excluded the branch that origin/HEAD was initially pointed to.
1. List your remote branches with:
git branch -r
2. If it doesn't show in the results:
origin/HEAD -> origin/(something)
3. Just point it again with:
git remote set-head origin master
where "master" is the name of your primary (head) branch.
Running git branch -r
again now shows origin/HEAD -> origin/(something)
and the warning goes away.
Just run the command -
#replace the <branch name> with your main branch - master, main, etc.
git remote set-head origin <branch name>
Enjoy!
Some problems arise after the local master renames main:
git fetch
: "fatal: couldn't find remote ref refs/heads/master";git branch -u origin/main main
: "error: the requested upstream branch 'origin/main' does not exist";git remote set-head origin main
: "error: Not a valid ref: refs/remotes/origin/main";git push -u origin main
: "error: failed to push some refs to 'github.com:/.git'";git symbolic-ref HEAD refs/heads/main
or git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
or git update-ref refs/heads/main main
,
git branch -r
: "warning: ignoring broken ref refs/remotes/origin/HEAD";The solution to this problem:
git remote -v
, copy git repository url
git remote rm origin
, remove remotegit remote add origin <REPOSITORY_URL>
, reset remote urlgit fetch origin
git branch -u origin/main main
, reset branch upstreamIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With