macOS에서 Git을 최신 버전으로 업그레이드하는 방법은 무엇입니까?


165

방금 OS X Lion이 설치된 새 Mac을 구입했으며 터미널에서 기본적으로 어떤 버전의 git이 설치되어 있는지 확인했습니다. 나는 대답을 얻었다

git --version
> git version 1.7.5.4

git을 최신 버전 1.7.8.3으로 업그레이드하고 싶습니다. dmg 설치 프로그램 "git-1.7.8.3-intel-universal-snow-leopard.dmg"를 다운로드하여 시작했습니다.

설치 후에도 터미널은 여전히 ​​버전이 1.7.5.4라고 말합니다. 내가 뭘 잘못하고 있죠?


4
which git바이너리가 어디에 있는지 보려면 입력 하십시오. 새로운 장소를 설치 한 장소입니까?
Greg Hewgill

4
그것은 말한다 /usr/bin/git1.7.5.4에 대한,하지만 DMG 새 버전을 설치 한 경우 어떻게 알 수 있습니까? 이전 버전을 자동으로 업그레이드 / 덮어 쓰지 않는 이유는 무엇입니까? 새로운 것을 사용하려면 git명령을 새 버전에 어떻게 연결할 수 있습니까? (실제로 빠른 답변을 주셔서 감사합니다!)
Nicolas Renon

1
내 맥 (OS 10.6.8)에서 이전 git 1.7.5.4는 / usr / bin / git에 있고 새로운 git installer 1.7.11.3은 git을 / usr / local /에 넣습니다.
miker

superuser.com/a/580611/74576 이 좋은 방법 인지 궁금합니다 . 명령을 알아낼 수 있기를 바랍니다.
Ryan

.bashrc 대신 .bash_profile에 항목을 만들었습니다. 귀하의 터미널이 "기본 로그인 셸"로 실행되고 있다고 생각합니다.
Swapnil Chincholkar

답변:


58

다음을 추가하면 더 좋을 것입니다.

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

홈 폴더에 .bashrc라는 파일로. 이런 식으로 설치 한 다른 소프트웨어 /usr/local/git/bin도 먼저 찾을 수 있습니다.

이 작업을 쉽게 수행하려면 다음을 입력하십시오.

echo "export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH" >> ~/.bashrc

터미널에 넣고 당신을 위해 그것을 할 것입니다.


1
README.txt와 같이 git은 / usr / local / git에 설치됩니다.
bananaaus

18
kmikael의 유용한 팁은 bash입니다. (Mac 기본 쉘을 변경하려면 시스템 환경 설정에서 계정 또는 "사용자 및 그룹"창을 잠금 해제하려면 "고급 옵션"에 대한 계정을 Control- 클릭하십시오.) bashrc 대신 bash_profile을 사용하는 제안 echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profilemoncefbelyamani.com에 있습니다. .bash_profile 또는 .bashrc에 추가할지에 대한 논의는 superuser.com에서
miker

무엇을 설치하기 위해 사용 git했습니까? 방금 최신 버전을 확인했습니다. 공식 설치 프로그램은 여기에 git을 설치합니다 /usr/local/git/bin/git. 위의 방법은 여전히 ​​10.8.4에서 작동합니다.
kmikael

감사합니다 @miker 그것은 .bash_profile과 함께 작동했지만 .bashrc는 아닙니다.
adimauro

작동 하더라도이 솔루션의 선택을 취소했습니다. 설명을 보려면 내 메시지 업데이트를 읽으십시오.
Nicolas Renon

52

Homebrew가 이미있는 경우 간단합니다. Homebrew 가 설치되어 있다고 가정하면 다음을 입력하십시오.

brew install git

설치되면 다음 두 줄을 입력하면 Apple 대신 로컬 git distro 경로가 설정됩니다.

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

HOMEBREW가없는 경우이 단계를 수행 하십시오. 버전 확인

$ git --version

Apple git 백업 (또는 제거) (선택 사항)

$ sudo mv /usr/bin/git /usr/bin/git-apple

없는 경우 Homebrew를 설치하십시오.

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

또는 이미있는 경우 업데이트

$ brew update && brew upgrade

Homebrew와 함께 Git 설치

$ brew install git

심볼릭 링크

$ brew link --force git

터미널을 닫고 다시 열고 버전을 확인하십시오

$ git --version

넌 봐야 해…

git version <latest version>

좋은! 우리는 지금 안전하다! 그리고 다음에 할 수있는 일은 ...

$ brew update && brew upgrade


10
관련 sudo mv /usr/bin/git /usr/bin/git-apple: apple.stackexchange.com/a/248229/16290에 설명 된대로 시스템 무결성 보호를 비활성화하지 않으면 macOS El Capitan 이상에서 시스템 git 이름 바꾸기가 작동하지 않습니다 . 개인적으로 나는 단지 이전 PATH/usr/local/bin오는 것을 업데이트 /usr/bin합니다. 그렇게하면 Homebrew의 자식이 항상 우선합니다 (터미널을 닫고 다시 연 후에). git 보안 취약점의 경우 Apple은 결국 번들 git을 보안 업데이트로 업데이트합니다. 그 동안 설명 된대로 PATH를 구성하여 내장 git 사용을 피할 수 있습니다.
네이트 쿡

16

Google에서 "Mac에서 git의 업그레이드 문제"를 검색 한 후 4 단계를 완료하여 문제를 해결하기 전에 여러 게시물을 읽고 다음을 시도했습니다.

  1. 위에서 언급 한 export 명령을 사용하여 터미널 경로를 업데이트했습니다. 터미널을 종료하고 다시 시작할 때마다 터미널을 입력 git --version하면 여전히 이전 버전 1.8을 반환합니다.

  2. .dmg 설치 프로그램과 함께 제공되는 현재 버전 2.0.1로 업그레이드하기 위해 README.txt 지침을 따랐으며 터미널을 다시 시작해도 여전히 작동하지 않습니다.

  3. 위에서 지시 한대로 / etc / path / 폴더를 찾았는데 "path"라는 디렉토리가 Mac에 없습니다. OS X Mavericks 버전 10.9.4를 실행하고 있습니다.

  4. 그런 다음 Mac에 Homebrew가 설치되어 있고 다음을 실행 한 것을 기억했습니다 .

    brew --version
    brew update
    brew search git
    brew install git
    

이것은 마침내 내 문제를 해결했습니다. 왜 이것이 효과가 있었는지에 대한 통찰력이 있다면 더 많은 통찰력을 얻을 수 있습니다. 작년에 내 시스템의 일부 경로 설정이 Ruby와 작동하지 않을 수 있습니다.


1
나는 이미 자식을 설치했다. 따라서 마지막 단계를 수행 할 때 brew install git오류 메시지가 표시되고 brew upgrade git대신 명령 을 실행하도록 제안했습니다 . 당신은 남자입니다! 그것은 단순히 트릭을했다 :)
Pathros

15

최근에 OS X 컴퓨터의 Git을 최신 버전으로 업그레이드했습니다. 나는 .dmg당신이 사용한 것과 같은 것을 사용 하지 않았지만 그것을 설치할 때 바이너리는에 배치되었습니다 /usr/local/bin. 이제 내 방식대로 PATH디렉토리 /usr/bin가 앞에 나타납니다 /usr/local/bin. 그래서 내가 한 일은 :

cd /usr/bin
mkdir git.ORIG
mv git* git.ORIG/

이렇게하면 이름이 지정된 여러 원래 프로그램 git*이 새 하위 디렉토리로 이동되어 방해가되지 않습니다. 그 후, which git하나를 /usr/local/bin찾았 음을 보여줍니다 .

새 바이너리를 설치 한 위치에 맞게 위 절차를 수정하십시오.


2
감사! 실제로 새 바이너리는에 배치되었습니다 /usr/local/git.
Nicolas Renon

1
참고 : 새 자식을 보려면 터미널을 다시 시작해야했습니다. 분명하지만 처음에는 나를 혼란스럽게합니다.
migg

15

homebrew를 사용하는 경우 다음을 사용하여 sim 링크를 업데이트 할 수 있습니다

brew link --overwrite git

나는이 답변 위에있는 다른 모든 답변을 시도했으며 이것이 마침내 최신 버전의 git으로 나를 설정했습니다. running brew install git나에게 최신 버전을 얻었지만 symlink를 올바르게 설정하지 않았습니다. running brew link git은 이미 존재했기 때문에 git을 symlink 할 수 없다는 오류를 표시했습니다. 마지막으로 실행 brew link --overwrite git은 관에 못을 넣어 지금 git --version은 내가 최신 버전의 git
Gharbad The Weak

7

git 홈페이지의 인스톨러는 /usr/local/git기본적으로 설치됩니다 . 그러나 XCode4 를 설치하면에 git 버전이 설치됩니다 /usr/bin. 웹 사이트에서 쉽게 업그레이드하고 최신 git 버전을 사용 하려면 $ PATH 에 배치 /usr/local/git/bin하기 위해 프로파일 정보를 편집하거나 첫 번째 항목으로 편집 하여 삽입 하십시오./usr/bin/etc/paths/usr/local/git/bin

/ etc / paths 에서 순서를 변경하는 것이 도움이 될 수 있습니다 .



6

Mac에서 git을 업그레이드하기 위해 다음을 사용했습니다.

hansi$ brew install git 

hansi$ git --version 
git version 2.19.0


hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.

hansi$ brew link git 
Linking /usr/local/Cellar/git/2.25.1... 
Error: Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
  rm '/usr/local/bin/git'

To force the link and overwrite all conflicting files:
  brew link --overwrite git

To list all files that would be deleted:
  brew link --overwrite --dry-run git

hansi$ brew link --overwrite git 
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created


hansi$ git --version
git version 2.25.1

내 경우에는 git이 이미 설치되어 있고 최신 버전을 다운로드 한 homebrew를 사용하여 다시 설치했지만 제대로 연결되지 않았습니다. 결국 수동으로 연결을 해제 한 다음 다시 연결해야했습니다. 또한 이전 / 시스템 버전 대신 새 버전을 찾을 수 있도록 터미널 세션을 다시 열어야했습니다. brew unlink git && brew link git && source ~/.bashrc
FireDragon

5

내가 지금까지 찾은 가장 간단한 방법은 git 공식 웹 사이트입니다. 의존성을 계산하고 필요한 모든 라이브러리 / 도구를 다운로드했습니다.

http://git-scm.com/book/en/Getting-Started-Installing-Git

다른 주요 방법은 MacPorts ( http://www.macports.org ) 를 통해 Git을 설치하는 것입니다 . MacPorts가 설치되어 있다면 Git을 설치하십시오.

$ sudo 포트 설치 git-core + svn + doc + bash_completion + gitweb


2

두 버전을 모두 유지하기 위해 처음에 새 버전의 git 경로 "/ usr / local / git / bin /"을 넣어 PATH 환경 변수의 값을 변경하면 최신 버전을 사용해야합니다.

$ echo $ PATH

/ usr / bin : / bin : / usr / sbin : / sbin : / usr / local / bin : / opt / X11 / bin : / usr / local / git / bin /

$ git --version

자식 버전 2.4.9 (Apple Git-60)

원래 값 : / usr / bin : / bin : / usr / sbin : / sbin : / usr / local / bin : / opt / X11 / bin : / usr / local / git / bin /

새 값 : / usr / local / git / bin / : / usr / bin : / bin : / usr / sbin : / sbin : / usr / local / bin : / opt / X11 / bin

$ export PATH = / usr / local / git / bin / : / usr / bin : / bin : / usr / sbin : / sbin : / usr / local / bin : / opt / X11 / bin

$ git --version

자식 버전 2.13.0


1

사제없이

  1. git의 웹 사이트에서 설치 프로그램 을 사용하십시오 .
  2. ~/.bash_profile파일을 업데이트하십시오 . 이 명령은 파일에 넣은 내용에 따라 kmikael의 답변과 다릅니다.
    • 다른 명령 : export PATH=/usr/local/git/bin:/usr/local/sbin/:[and so on]
    • 아래 명령 : export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"
    • 원하는 것을 사용하십시오.

echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile

  1. Xcode를 사용하는 경우 일부 심볼릭 링크추가 해야 합니다 .
    • 예: ln -s /opt/local/bin/git /usr/bin/git
  2. 터미널을 다시 시작하십시오.
    • which gitREADME.txtdmg 에서 파일 의 디렉토리를 말해야합니다 .
    • git --version 업데이트 된 버전을 말해야합니다.
    • echo $PATH 로 시작해야 /usr/local/git/bin:/usr/local/sbin:

0

경로 계층 구조를 변경하지 않고 git을 구체적으로 다루는 것을 선호합니다 ... 새로운 git이 관리 할 작업을 수행하기 위해 이전 git을 사용하지 않을 것이라는 것을 알고 있습니다. 이것은 무차별 대입 솔루션입니다.

참고 : Yosemite (10.10.2)에 XCode를 먼저 설치했습니다 .

그런 다음 git-scm.com 의 바이너리에서 설치 했습니다 .

$ which git
/usr/bin/git
$ cd /usr/bin
$ sudo ln -sf /usr/local/git/bin/git
$ sudo ln -sf /usr/local/git/bin/git-credential-osxkeychain
$ sudo ln -sf /usr/local/git/bin/git-cvsserver
$ sudo ln -sf /usr/local/git/bin/git-receive-pack
$ sudo ln -sf /usr/local/git/bin/git-shell
$ sudo ln -sf /usr/local/git/bin/git-upload-archive
$ sudo ln -sf /usr/local/git/bin/git-upload-pack
$ ls -la
(you should see your new symlinks)

0

나는 이런 식으로했다 :

  1. Mac에 설치된 GitHub 응용 프로그램 열기
  2. 고급 탭 → 명령 행 도구 설치를 클릭하십시오.
  3. 모든 명령이 설치되었다는 메시지가 표시되면 터미널을 닫고 다시여십시오.
  4. 이제 확인하십시오 git --version. 최신 버전이 표시됩니다.

0

쉘 경로를 조정해야하며 경로는 홈 디렉토리의 .bashrc 또는 .bash_profile에 설정됩니다.

따라서 아래와 비슷한 경로에 추가하고 경로에 이미있는 것을 유지하면 각 세그먼트가 콜론으로 구분됩니다.

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


0

최신 버전은 git-scm.com에서 Mac 용 바이너리로 사용할 수 없으므로 소스에서 설치했습니다. 현지화에 필요한 패키지가 누락되어 현지화 NO_GETTEXT=true없이 설치하도록 추가되었습니다 .

git clone https://github.com/git/git.git
cd git
make NO_GETTEXT=true
make NO_GETTEXT=true install

이 설치 git에 따라 ~/bin그때 내의 시작 부분에 추가 있던 PATH변수입니다.

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