2013-07-25 23 views
65

Tôi đang chạy:cập nhật Homebrew thất bại: "Xin vui lòng, cam kết thay đổi của bạn hoặc giấu chúng trước khi bạn có thể hợp nhất"

brew update 

Và tôi nhận được một lỗi:

error: Your local changes to the following files would be overwritten by merge: 
    samtools.rb 
Please, commit your changes or stash them before you can merge. 
Aborting 

Hóa ra đây là một lỗi nổi tiếng. Thực tế, nó được đề cập trên số Homebrew wiki:

After running brew update, you receive a git error warning about untracked files or local changes that would be overwritten by a checkout or merge, followed by a list of files inside your Homebrew installation. 

This is caused by an old bug in in the update code that has long since been fixed. However, the nature of the bug requires that you do the following: 

cd $(brew --repository) 
git reset --hard FETCH_HEAD 

If brew doctor still complains about uncommitted modifications, also run this command: 

cd $(brew --repository)/Library 
git clean -fd 

Tôi làm theo các hướng dẫn đó và vẫn thấy lỗi tương tự. Chuyện gì thế?

Trả lời

104

Tôi có thể tự giải quyết vấn đề.

Điều gì khiến tôi tắt đang chạy "trạng thái git" không hiển thị tệp đó.

Thay vì sử dụng các giải pháp chung:

cd $(brew --repository) 
git reset --hard FETCH_HEAD 

tôi phải làm:

cd [directory of the file in question] 
git reset --hard FETCH_HEAD 

Đó giải quyết vấn đề.

+0

Cảm ơn! nó cố định một trong những xung đột git của tôi. Chính xác thì git reset --hard FETCH_HEAD? –

+0

Khi tôi gặp sự cố này, tôi phải rm tệp vi phạm trong/usr/local/Formula/Library và sau đó "git reset --hard FETCH_HEAD" sau khi bản cập nhật brew hoạt động – petrocket

+0

Điều này đã làm cho tôi, cảm ơn bạn rất nhiều để chia sẻ! –

2

Tôi có vấn đề này sau khi tự sửa chữa một URL trong công thức NumPy. Tôi có thể sửa lỗi này sau bằng cách:

cd /usr/local/Library/Taps/homebrew/homebrew-python 
git checkout -- numpy.rb 
brew update 
Các vấn đề liên quan