在执行git checkout时冲突更新失败

由于networking问题而导致中断的brew update后,Homebrew似乎被破坏:

 $ brew update error: pathspec 'master' did not match any file(s) known to git. Error: Failure while executing: git checkout -q master 

看一下/usr/local Git仓库,没有远程仓库。

 $ cd `brew --prefix` $ git remote -v $ 

使用以下命令修复:

 $ 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. 

当我尝试它,sudo是需要的:

 $ 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 

就我而言,我刚刚升级到OS X El Capitan,其他解决scheme都没有工作。

我记下了/ usr / local / Cellar中的软件包,然后删除了Cellar文件夹并开始全新安装。

 rm -rf /usr/local/Cellar ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )" 

然后我再次安装包装。

我有一个类似的问题从/ usr / local(== $(brew –prefix))我试着@ Julien Carsique的答案,但仍然有错误:

 [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. 

这是因为我的hdf5例程在/ usr / local / Library / tab / homebrew-science里有它自己的git仓库。 要解决这个问题我input了:

 [local]master$ cd Library/Taps/homebrew/homebrew-science/ [homebrew-science]master$ git checkout 3115d85 hdf5.rb 

现在我可以安装所需库的以前版本(例如hdf5)

希望这可以帮助别人!