/ usr / bin / git는 어디에서 왔습니까?


24

작은 문제가 있습니다. 어느 시점에서 git을 사용했지만 Lion에 기본적으로 설치되었는지 기억이 나지 않습니다.

git의 버전과 경로는 다음과 같습니다.

$ git --version
git version 1.7.5.4
$ which git
/usr/bin/git

또한 / usr / local / git에 새로운 자식이 있습니다.

최신 버전을 사용하고 싶지만 이전 버전을 제거하여 (/ usr / bin이 경로 변수에서 우선 순위를 갖는지) 알 수 없습니다.

이 충돌을 해결하는 올바른 방법은 무엇입니까?


9
git은 Xcode에 의해 설치됩니다. 그래도 아무것도 깨질 지 말할 수 없습니다. 나중에 신발을 다시 넣어야 할 경우에 대비해 신발 이름을 바꾸겠습니다
Steven Fisher

아아 좋아 .. 내가 할 일은 그냥 새로운 설치 또는 git2 또는 다른 것의 이름을 바꾸고 그렇게 사용하는 것입니다.
cromestant

이전 이름을 제거하지 않고 이름을 바꿨습니다. 그렇게하면 문제가 발생하면 이름을 바꿀 수 있습니다.
Steven Fisher

1
@StevenFisher 당신은 그 대답을해야합니다. :)
Ian C.

승인. 나는 누군가가 "모르겠습니다!"가 아닌 실제 답변을 원하기를 바라고있었습니다. 그 안에. :)
Steven Fisher

답변:


26

git은 Xcode에 의해 설치됩니다. 교체하면 문제가있을 것 같지는 않지만 의심 할 여지가 없습니다…

  1. 내가 할 줄은 옛 이름을 바꾸 인 /usr/bin/git에를 git_old새로운 하나를 선택하는 경로에 의존 다음,.
  2. 그래도 문제가 해결되지 않으면 새 것으로 이동하십시오 /usr/bin. Xcode가 사용중인 git 버전에 대해 까다 롭습니다.
  3. 그것은 아직도 작업 않는 경우 , 이동 git_old다시 /usr/bin/git새로운 하나 사용하거나 직접 경로, 이름 바꾸기 또는 별칭을.

그래도 위의 1 위를 지나야한다고 의심합니다. 충분해야합니다.

편집 : 원래 게시물을 거꾸로 읽었습니다. 가장 먼저해야 할 일은 이전 git이 포함 된 디렉토리보다 경로에 새로운 git 디렉토리가 포함되어 있는지 확인하는 것입니다.


3 가지 대안 : 첫 번째 대안이 제대로 작동하는지 확인
Marius Butuc

9

공간이 부족하지 않으면 다른 버전을 해킹 할 필요가 없습니다. .bash_profile을 편집하고 PATH 변수의 / usr / bin 앞에서 / usr / local / bin이 나타나는지 확인하십시오.

개인적으로 나는 도구 경로가 정의되고 이러한 경로를 통해 만들어진 경로를 선호합니다.

GIT_HOME=/usr/local

PATH=${GIT_HOME}/bin:${PATH};export PATH
MANPATH=${GIT_HOME}/share/man:${MANPATH};export MANPATH

즉, PATH를 사용하여 도구를 검색하면 git의 버전을 찾을 수 있으며, / usr / bin 버전이 "필수"인 경우에는 해당 경로가 유선으로 연결되어있을 가능성이 높습니다.


6

나는 같은 문제가 있었다 : Xcode 버전이었던 구 버전의 Git. 나는에서 망할 놈의 새 버전을 설치하려고했습니다 http://git-scm.com/을 하고, 업데이트 bash_profile와 함께

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

그런 다음 배쉬를 다시로드하고 시도하십시오. git --version

나를 위해 일했다 :)


1

내 시스템 (10.7.3, Xcode 4.3.2)에서 Xcode git가에 설치되어 있지 않습니다 /usr/bin/git. 모든 Xcode 4 (App Store의 모든 앱과 마찬가지로)는 .app 번들에 있습니다. 구체적으로, 자식은 /Applications/Xcode.app/Contents/Developer/usr/bin/git입니다.

나는 항상 git (Xcode를 통해)을 사용하지만 /usr/bin/git여기 에는 전혀 없다 . 따라서 기본 라이온 설치의 일부가 아니거나 적어도 해당 위치가 아닙니다.

Fcode, Xcode.app 번들의 자식에는 다음 --version과 같은 내용이 있습니다.

자식 버전 1.7.7.5 (Apple Git-26)

그래서 나는 당신 /usr/bin/git이 당신의 자신의 설치이며 내기를 업데이트해도 아무것도 해치지 않을 것입니다.

또는 Xcode를 설치하고 (무료입니다!) /Applications/Xcode.app/Contents/Developer/usr/bin/$ PATH에 넣을 수 있지만 git 만 원하면 과도합니다.


나는 또한 xcode를 가지고 있으므로 현재 git의 세 가지 버전이 설치되어 있습니다 ... 좋은 발견!
cromestant

1
이 없으면 /usr/bin/gitXcode "명령 줄 도구"를 설치하지 않았을 것입니다. stackoverflow.com/q/9329243/152142
Justin M. Keyes

1

Ken은 Xcode.app 경로를 통해서만 git을 사용할 수 있다는 점에서 정확합니다. Mountain Lion (10.8)을 설치했을 때 갑자기 / usr / bin / git에 자식이 있었으므로 알 수있는 한 Mountain Lion이 추가되었습니다.

비록 ... 그 이후로 꽤 많은 것들을 설치했으며 다른 것에 대한 의존성이 아닌지 완전히 확신하지 못합니다.


0

나는 정말로 모른다, 나는 엄마를 위해 git 또는 XCode를 설치하지 않았다고 생각하지만 homebrew를 설치하고 실행 한 brew doctor후에는 말한다 :

$ brew doctor
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

왜? 방금 XCode (mountain Lion) 용 명령 줄 도구를 설치했는데이 도구가이 도구를 설치 한 것으로 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.