brew update failure while executing git checkout
I had a similar problem where from /usr/local (== $(brew --prefix)) I tried the answer by @ Julien Carsique but still got the error:
[local]master$ git checkout 3115d85 hdf5.rb
error: pathspec '3115d85' did not match any file(s) known to git.
error: pathspec 'hdf5.rb' did not match any file(s) known to git.
This was because I the hdf5 routine was in /usr/local/Library/tab/homebrew-science which has it's own git repository. To fix this I entered:
[local]master$ cd Library/Taps/homebrew/homebrew-science/
[homebrew-science]master$ git checkout 3115d85 hdf5.rb
Now I can install a previous version of the desired library (e.g. hdf5)
Hope this helps someone!
when i try it, sudo is needed:
$ git reset --hard origin/master
error: unable to unlink old 'Library/Homebrew/macos/xcode.rb' (Permission denied)
fatal: Could not reset index file to revision 'origin/master'.
$ sudo !!
sudo git reset --hard origin/master
Password:
HEAD is now at 97302bf xrootd 3.2.2
In my case, I had just upgraded to OS X El Capitan and none of the other solutions worked.
I took note of the packages in /usr/local/Cellar and then deleted the Cellar folder and started with a fresh install.
rm -rf /usr/local/Cellar
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"
Then I brew installed the packages again.
Fixed with the following commands:
$ cd `brew --prefix`
$ git remote add origin https://github.com/Homebrew/homebrew.git
$ git fetch origin
$ git reset --hard origin/master
$ brew update
Already up-to-date.