我试图更新brew:
sudo brew update
但我得到了这个错误:
错误:您对以下文件的本地更改将被合并覆盖:
列出很多文件
错误:执行 git pull http://github.com/mxcl/homebrew.git master失败
知道出了什么问题吗?
我试图更新brew:
sudo brew update
但我得到了这个错误:
错误:您对以下文件的本地更改将被合并覆盖:
列出很多文件
错误:执行 git pull http://github.com/mxcl/homebrew.git master失败
知道出了什么问题吗?
Homebrew中有一个错误,几天前才修复。要修复错误,您可以git reset --hard FETCH_HEAD
在 Homebrew 安装中运行。由于这不会修复已被视为已修改的文件,因此您还可以运行git checkout Library
以将结帐替换为最新文件。(这会擦除所有编辑,因此请对您所做的任何内容采取适当的措施。)
接受的答案是正确的,但不完整。如果您收到以下错误
错误:以下未跟踪的工作树文件将被合并覆盖:
然后转到您的终端并运行这些命令
cd /usr/local
然后
git reset --hard FETCH_HEAD
然后
git checkout Library
这应该让一切都井井有条。然后运行
brew update
让我补充一下:cd /usr/local/git
然后运行git reset --hard FETCH_HEAD
转到您的终端并运行这些命令
cd /usr/local
sudo git reset --hard FETCH_HEAD
sudo git checkout Library
对于那些使用 OS X El Capitan 的人来说,您的问题可能是系统完整性保护。
如果/usr/local
已经存在,请在终端中运行以下命令:
sudo chown -R $(whoami):admin /usr/local
如果/usr/local
不存在:
首先,尝试创建/usr/local
正常的方式:
sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local
如果您看到权限问题,请尝试:
csrutil disable
csrutil enable
无缘无故(或者至少没有人能理解)其中的存储库/usr/local
(即 brew 安装!)丢失了它的远程存储库。因此, agit reset
和 agit pull
和肯定 nobrew update
都行不通。
你怎么知道那件事发生了?检查/usr/local/.git/config
是否有类似以下的行:
[remote "origin"]
url = http://github.com/mxcl/homebrew.git
fetch = +refs/heads/*:refs/remotes/origin/*
如果没有,请执行以下操作:
cd /usr/local
git remote add origin http://github.com/mxcl/homebrew.git
git pull origin master