2013-02-24 50 views
5

Tôi đang trên OSX 10.8.2 và tôi đang chạy git git v1.7.4.4Làm thế nào để cập nhật phiên bản của tôi về git trên OSX 10.8

Tôi chỉ cần cài đặt git trên một máy chủ từ xa và đó là phiên bản 1.11. x. Tôi muốn chạy phiên bản phần mềm tương tự nhưng tôi không thể tìm ra cách cập nhật git trên máy tính xách tay của mình.

Tôi cố gắng làm theo các bước được liệt kê here, mà hướng dẫn để tải git-OSX-installer, chạy cài đặt (mà chạy trơn tru) và sau đó làm:

$ sudo mkdir -p /usr/local/bin 
$ sudo ln -s /usr/local/git/bin/git /usr/local/bin/git 

Nhưng sau này tôi làm git --version và nó vẫn còn 1,7. 4.4. Tôi vừa cài đặt lại cùng một phiên bản chưa? Hay tôi đã cài đặt phiên bản mới hơn ở một nơi khác?

Tôi đã đọc các câu hỏi tương tự và tôi cho rằng vấn đề là OSX có phiên bản git cũ được cài đặt ở một vị trí khác, nơi cổng git-osx-installer hoặc mac sẽ đặt nó. Nhưng tôi không chắc chắn làm thế nào để sửa lỗi này. Cảm ơn trước cho lời khuyên của bạn.

Cập nhật:

which git lợi nhuận: /git

echo $PATH lợi nhuận/usr/bin: /opt/local/bin:///sbin địa phương lựa chọn: đá quý/usr/local/RVM//ruby-1.9.3-p194/bin:/usr/local/rvm/gems/[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin :/usr/local/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/opt/sm/bin:/opt/sm/pkg/active/bin:/opt/sm/pkg/active/sbin

Update2:

ESL ~/Downloads$ export PATH=/usr/local/bin:$PATH 
ESL ~/Downloads$ which git 
/usr/local/bin/git 
ESL ~/Downloads$ 
ESL ~/Downloads$ git --version 
git version 1.8.1.3 

Dường như tôi đã cài đặt phiên bản git mới hơn ở địa phương. Vì vậy, tôi có nên thêm export PATH=/usr/local/bin:$PATH vào tệp .bash_profile của mình không? Có vấn đề gì khi cả hai phiên bản git đều được cài đặt?

Tôi đã thêm export PATH=/usr/local/bin:$PATH vào cuối ~/.bash_profile của tôi và bây giờ phiên bản mới của git chạy.

+0

'git'displaying là gì? kết quả của 'echo $ PATH' chứa'/usr/local/bin'? –

+0

Tôi đã thêm cả hai câu hỏi đó vào câu hỏi ở trên. – emersonthis

Trả lời

16

Vì/usr/bin hiển thị trước/usr/local/bin trong đường dẫn của bạn, git thực thi trong/usr/bin sẽ được ưu tiên. thử điều này trong vỏ của bạn:

export PATH=/usr/local/bin:$PATH 
which git 

Trên một mặt lưu ý, tôi rất muốn khuyên bạn sử dụng homebrew để quản lý cài đặt như thế này trên macos

+0

Tôi đã thêm kết quả thử nghiệm của bạn ở trên, với một số câu hỏi tương ứng. – emersonthis

+0

không có vấn đề gì khi bạn đã cài đặt cả hai phiên bản - bạn có thể thêm dòng xuất đó vào ~/.bashrc và từ đó trở đi phiên bản trong/usr/local/bin sẽ luôn được ưu tiên. –

+0

Tại thời điểm này, tôi vẫn nên xem xét homebrew hoặc chỉ để lại những gì tôi có? Tôi không biết nhiều về các nhà quản lý gói, vì vậy tôi rất tò mò muốn biết lý do tại sao bạn nên giới thiệu nó. – emersonthis

3

Tôi gặp sự cố tương tự trong Cygwin (môi trường linux được biên dịch cho cửa sổ). Tôi sẽ làm

which git 

và nó sẽ phản ứng với vị trí đúng của git cập nhật biên soạn từ nguồn, nhưng sẽ không thực sự sử dụng nó cho đến khi tôi đã làm

hash -r git 

Tôi không yêu cầu bồi thường hiểu điều này đã làm hoặc lý do tại sao nó phải được thực hiện, nhưng sau đó git --version trả lời với '1.8.2.rc0.22.gb3600c3' rõ ràng không còn là git cũ được vận chuyển với Cygwin nữa. Điều này có thể không áp dụng cho OSX, nhưng cung cấp cho nó một shot nếu which git là định vị nhị phân cập nhật.

+0

Tôi đã thêm 'git' và' $ PATH' vào câu hỏi. Điều này có thay đổi lời khuyên của bạn không? – emersonthis

+0

Không thực sự, chỉ cần thử 'hash -r git' và sau đó xem những gì' git --version' cung cấp cho bạn. – Ehryk

+0

Cảm ơn! Tôi không biết rằng shell sử dụng các bảng băm để lưu trữ các đường dẫn của tệp thi hành. Bạn cũng có thể khởi động lại shell, nó cũng sẽ xóa bảng băm. Để biết thêm chi tiết: http://crashingdaily.wordpress.com/2008/04/21/hashing-the-executables-a-look-at-hash-and-type/ – HyBRiD

17

Cách tốt nhất để cập nhật bất kỳ nhị phân trên một máy Mac OSX là sử dụng (các) gói phát triển dành riêng cho Mac (tải xuống .dmg hoặc .pkg).

Trong trường hợp git này là tại: http://git-scm.com/download/mac (nhấp vào liên kết này sẽ tự động bắt đầu tải xuống phiên bản git mới nhất cho Mac).

Tuy nhiên, trong trường hợp này (ít nhất là đối với chiếc MacBook 10,8,3 của tôi), đây không phải là toàn bộ câu chuyện: gói cài đặt git trong /usr/local/git và sau đó thêm đường dẫn đó vào cuối $PATH - .

Tôi đã tự sửa đổi của tôi .bashrc để có một cái gì đó tương tự như những gì đã nêu ở trên:

export PATH=/usr/local/git/bin:$PATH 

Khi bạn làm điều đó, bạn sẽ thấy phiên bản đúng của git được chọn:

$ git --version 
git version 1.8.2.2 

Lưu ý rằng thao tác này sẽ không hoạt động đối với bất kỳ ứng dụng nào được khởi chạy tương tác (ví dụ: thông qua thanh nối) - bạn sẽ phải chạy tập lệnh bổ sung được cung cấp trong gói đã tải xuống; xem README để được hướng dẫn.

+0

Có cách nào dễ dàng để hoàn tác thay đổi này không? Tôi chỉ muốn thử nghiệm nếu một phương pháp khác tôi đã thử làm việc. – reem

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