![Mac OS X에서 Git을 업데이트하고 이전 Git을 제거하려고 하면 실패합니다.](https://rvso.com/image/1466438/Mac%20OS%20X%EC%97%90%EC%84%9C%20Git%EC%9D%84%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%ED%95%98%EA%B3%A0%20%EC%9D%B4%EC%A0%84%20Git%EC%9D%84%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%A0%A4%EA%B3%A0%20%ED%95%98%EB%A9%B4%20%EC%8B%A4%ED%8C%A8%ED%95%A9%EB%8B%88%EB%8B%A4..png)
Mac OS X 10.8.5(Mountain Lion)에서 git을 업데이트하려고 합니다.
이 새 버전을 다음에서 다운로드했습니다.이 링크을 두 번 클릭한 .dmg
다음 uninstall.sh
터미널로 드래그합니다(지침에 따라).거기) 이전 버전을 제거하려면 다음을 얻습니다.
Git doesn't appear to be installed via this installer. Aborting
현재 git
내 컴퓨터에 설치되어 있습니다.
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ which git
/usr/bin/git
왜 제거할 수 없나요? 어떻게 업데이트할 수 있나요 git
?
답변1
Mac에서 가장 쉬운 방법은 다음을 사용하는 것입니다.집에서 만든 맥주.
- 브루 설치
- 지침을 따르십시오( 업데이트하라는 메시지가
brew doctor
표시됩니다.$PATH
/usr/local/bin:$PATH
brew install git
수동 업데이트에 대해 걱정하지 마세요. brew update && brew upgrade
자주 실행하세요.
기존 것을 설치할 수 없는 이유:
- Apple에는 Xcode가 사용하는 기본 git 설치가 있습니다(Xcode 또는 최소한 명령줄 유틸리티를 설치했다고 가정).
답변2
더 짧은 대답.
git
Mac OS X에 표시되는 Xcode를 제거할 필요가 없습니다. 다음과 같이 편집하여 추가 /usr/local/git/bin
하면 됩니다.$PATH
~/.bash_profile
export PATH
export PATH="/usr/local/git/bin:$PATH"
그런 다음 해당 파일을 닫고 저장한 후 다음과 같이 터미널 세션에 로드합니다.
source ~/.bash_profile
그리고 이미 설치된 Xcode보다 새로 설치된 git
Xcode에 우선적으로 액세스할 수 있습니다 .git
더 긴 답변입니다.
오류 메시지를 해석합니다.
uninstall.sh
이 문제는 함께 제공되는 Bash 스크립트 의 내용을 보면 이해할 수 있습니다.Mac OS X용 공식 Git 설치 프로그램 패키지정확히 무엇을 하는지 보려면. 다음은 현재 보고 있는 오류를 발생시키는 상단 근처의 스니펫입니다.
#!/bin/bash
if [ ! -r "/usr/local/git" ]; then
echo "Git doesn't appear to be installed via this installer. Aborting"
exit 1
fi
Bash 스크립트 if [ ! -r "/usr/local/git" ]; then
는 이 디렉토리 경로의 존재를 확인하고 있습니다.
/usr/local/git/
which git
그러나 경로 디렉토리 경로를 실행했을 때 얻은 경로는 다음과 같습니다.
/usr/bin/
이는 공식 설치 프로그램 git
이 ./usr/local/git/
/usr/bin/
git
그렇다면 이미 갖고 있는 다른 버전은 무엇인가요 ? git --version
자세한 내용은 출력을 확인해 보겠습니다 .
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
저거 보이나요 (Apple Git-31.1)
? 이는 Apple에서 설치했음을 나타냅니다. 그리고 는 git
핵심 Mac OS X 설정의 일부가 아니기 때문에 Xcode 및 관련 명령줄 바이너리를 통해서만 설치할 수 있었습니다.
즉, Xcode 버전의 git
. 대신 터미널 에서 .NET의 핵심 Mac OS X 바이너리보다 git
설치된 바이너리를 선호하도록 만들고 싶습니다 . 그리고 이렇게 설정을 수정하면 됩니다 ./usr/local/git/bin/
/usr/bin/
$PATH
~/.bash_profile
문제를 해결합니다.
먼저 ~/.bash_profile
텍스트 편집기를 엽니다. 나는 다음과 같이 명령줄에서 직접 이 작업을 수행하는 것을 선호합니다 nano
.
nano ~/.bash_profile
export $PATH
이제 해당 항목 이 없으면 파일에 다음과 같은 줄을 ~/.bash_profile
추가하면 됩니다 .$PATH
export PATH="/usr/local/git/bin:$PATH"
거기에 존재하는 경우 시스템의 기본 값 앞에 있도록 export $PATH
해당 값을 수정하십시오 . 구분 기호에 유의하세요 ./usr/local/git/bin
$PATH
:
이제 해당 파일을 닫고 저장한 후 다음과 같이 터미널 세션에 로드하십시오.
source ~/.bash_profile
이제 다음을 입력하면:
which git
출력은 다음과 같아야 합니다.
/usr/local/git/bin/git
이는 터미널이 바이너리의 기본값으로 다른 디렉터리를 확인하기 위해 이동하기 전에 $PATH
이제 체크인한다는 의미입니다 ./usr/local/git/bin/
$PATH
git
따라서 Xcode 버전을 제거하지 않고도 git
이제 공식 및 업데이트된 git
바이너리를 다운로드하여 설치하고 Homebrew나 다른 것을 다루지 않고도 사용할 수 있습니다. 예를 들어 내 시스템에서 현재 출력은 git --version
다음과 같습니다.
git version 2.5.3
(Apple Git-31.1)
보이지 않습니다 . 이 조정 git
덕분에 최신 상태이고 사용할 준비가 된 순수한 버전 번호입니다 .$PATH
답변3
설치 하는 것만 git
으로는 충분하지 않습니다. 또한 기능적인 git repo 폴더에 있는 git
경우에만 작동한다는 점을 기억하세요 . 이는 폴더가 cd
표시되어야 하고 ./.git
(힌트: ls -la
숨겨진 폴더를 보려면 사용) git status
아래 예와 유사한 내용을 반환해야 함을 의미합니다.
[some_repo]$ git status
On branch master
Your branch is up-to-date with 'origin/prod'.
nothing to commit, working directory clean
그러나 폴더가 유효한 git repo가 아닌 경우 다음과 같은 내용이 표시됩니다.
[~]$ git status
fatal: Not a git repository (or any of the parent directories): .git