2012-05-04 32 views
42

Tôi đã cài đặt XCode và do đó git cũng ở đó. Kể từ khi tôi muốn có một phiên bản mới hơn của git tôi cài đặt bằng cách sử dụng homebrew.ghi đè git từ Xcode với phiên bản homebrew

Nhưng phiên bản homebrew của git không bao giờ được gọi là từ PATH của tôi trông như thế này

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

có nghĩa là /usr/bin/git được allways gọi trước khi /usr/local/bin/git.

Có cách nào để thay đổi điều đó mà không thay đổi PATH không?

+0

Tôi đã tạo tập lệnh này để Xcode sử dụng cài đặt Git cục bộ của bạn trong/usr/local/bin. Kiểm tra nó ra. https://gist.github.com/4659915 – Baub

Trả lời

55

Xcode thực sự đang sử dụng GIT được lưu trữ trong /Applications/Xcode.app/Contents/Developer/usr/bin. Phiên bản tương tự của GIT được cài đặt trong /usr/bin khi bạn cài đặt các công cụ dòng lệnh như là một phần của cài đặt Xcode. Vì vậy, bạn sẽ không thể thay đổi những gì Xcode đang sử dụng (trừ khi bạn sẵn sàng muck với nội dung của gói Xcode). Nếu, từ một ứng dụng thiết bị đầu cuối, bạn muốn sử dụng GIT homebrew cài đặt sau đó bạn có hai lựa chọn:

  1. Reference GIT với đường dẫn đầy đủ như /usr/local/bin/git ... Đối với trường hợp này bạn có thể tạo một bí danh như alias mgit=/usr/local/bin/git và sau đó sử dụng mgit ... từ thiết bị đầu cuối
  2. Thay đổi đường dẫn là PATH=/usr/local/bin:$PATH hoặc trong .bashrc hoặc .zshrc nếu bạn sử dụng tệp zsh (hoặc mỗi khi bạn khởi động thiết bị đầu cuối tại dòng lệnh).
+1

Cảm ơn câu trả lời. Sau khi tất cả tôi đã thay đổi 'PATH' trong'/etc/paths'. – BetaRide

+0

Liên quan: http://stackoverflow.com/questions/5364614/is-there-a-problem-with-having-usr-local-bin-before-usr-bin-on-the-path-in-os –

+4

Bật OS X Mountain Lion, tôi sử dụng ".bash_profile" thay vì ".bashrc" - Tôi đã làm điều này trong nhiều năm, mặc dù tôi không biết nơi tôi đã học nó, hoặc tại sao nó hoạt động (và. Bash không.) –

13

Kể từ Xcode cứng mã hóa phiên bản riêng của mình git được cài đặt trên /Applications/Xcode.app/Contents/Developer/usr/bin/git, tôi quản lý để sử dụng tác phẩm này xung quanh lừa:

  1. thay đổi vào thư mục Xcode:

    cd /Applications/Xcode.app/Contents/Developer/usr/bin

  2. đổi tên git của Xcode như sau:

    sudo mv ./git ./git-xcode-usr-bin

  3. liên kết git của riêng tôi mà được cài đặt thông qua homebrew:

    sudo ln -s /usr/local/bin/git ./git

Và tôi đã làm điều tương tự với /usr/bin/git

này acctually sẽ liên kết /usr/local/Cellar/git/1.8.0/bin/git (vì tôi m sử dụng git 1.8.0 hiện tại)

Cert ainly điều này có thể gây ra một số vấn đề khác, chẳng hạn như khi tôi nâng cấp gion của homebrew trong tương lai, nó sẽ không làm việc cho tôi: (và tôi phải tạo một liên kết mới sau đó.

Tôi làm như vậy vì tôi muốn giải quyết vấn đề của riêng mình tại đây 13177203. Và sau khi tìm kiếm StackOverFlow trong một thời gian dài, cuối cùng tôi đã nhận được giải pháp này.

+2

Trong khi nói chung tôi tránh gây rối với các gói như thế này, tôi đã sử dụng câu trả lời này. Vì sự thay đổi trong các tùy chọn 'push.default' trong git 1.8, Xcode đã cho tôi lỗi sau và không cho phép tôi thêm nội dung vào dự án của mình:' error: Giá trị sai cho push.default: simple. lỗi: Phải là một trong số không có gì, phù hợp, theo dõi hoặc hiện tại. fatal: tập tin cấu hình xấu dòng 7 của .gitconfig'. Các tùy chọn khác sẽ được thay đổi gitconfig của tôi trở lại 1.7 cài đặt. – towynlin

7

Nếu bạn đang sử dụng fish shell thay vì bash, bạn có thể trỏ đến mã nhị phân git ưa thích của mình bằng cách thêm thông tin sau vào ~/.config/fish/config.fish.

function git 
    /usr/local/bin/git $argv; 
end 
+0

Làm việc như một sự quyến rũ! Cảm ơn lời khuyên này. Tôi không biết bạn có thể làm điều này trong vỏ cá. Nó rất hữu ích. – Leif

Các vấn đề liên quan