Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sourcetree/GIT - Cannot lock ref/reference broken, when pulling

A co-worker and I have been working on the same branch for a week, constantly pushing/pulling changes and all of a sudden today, I hit 'pull' to see if there were any changes I needed to pull and I got an error.

This is in sourcetree by the way. The error was this:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin error: cannot lock ref 'refs/remotes/origin/angular_removal': unable to resolve reference 'refs/remotes/origin/angular_removal': reference broken From https://bitbucket.org/colossus  ! [new branch]        angular_removal -> origin/angular_removal  (unable to update local ref) 

I'm in sourcetree, which has a terminal built in, but I can't seem to find a resolution here.

like image 412
Geoff_S Avatar asked Nov 10 '17 15:11

Geoff_S


1 Answers

The error text was slightly different for me like: unable to update local ref it is [hash_code_1] but expected [hash_code_2].

So the command like rm -rf .git/refs/remotes/origin/angular_removal helped me only to do fetch once. Then the message would return again.

What actually helped in this situation to fix the issue permanently was:

  1. go into .git subfolder of my local repository;
  2. open packed-refs file;
  3. find the line with branch name from error message;
  4. remove it from this file;
  5. now you can do fetch or pull all you like.
like image 148
Dudar Avatar answered Sep 22 '22 05:09

Dudar