A tentativa de atualizar o Git no Mac OS X e a desinstalação do antigo Git falha

0

Estou tentando atualizar o git no meu Mac OS X 10.8.5 (Mountain Lion).

Eu baixei esta nova versão de este link , cliquei duas vezes no .dmg e, em seguida, arrastei uninstall.sh no meu terminal (seguindo as instruções ) para para desinstalar a versão antiga e recebo:

Git doesn't appear to be installed via this installer.  Aborting

Observe que git está atualmente instalado no meu computador.

$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ which git
/usr/bin/git 

Por que não posso desinstalar? Como posso atualizar o git ?

    
por Remi.b 17.09.2015 / 16:51

3 respostas

2

Em um mac, a maneira mais fácil é usar o homebrew .

  1. Instalar bebida
  2. Siga as instruções ( brew doctor dirá para você atualizar seu $PATH com /usr/local/bin:$PATH
  3. brew install git

E pare de se preocupar com atualizações manuais, apenas execute brew update && brew upgrade de tempos em tempos

Por que você não pode instalar o existente:

  • A Apple tem uma instalação padrão do git que o Xcode usa (presumindo que você tenha instalado o Xcode ou pelo menos os utilitários de linha de comando)
por 17.09.2015 / 17:10
0

Resposta mais curta.

Não é preciso desinstalar o Xcode git que você está vendo no Mac OS X. Basta adicionar /usr/local/git/bin ao seu $PATH editando ~/.bash_profile para adicionar um export PATH assim:

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

Em seguida, feche e salve o arquivo e coloque-o na sessão do Terminal, digitando isto:

source ~/.bash_profile

E o git recém-instalado será acessível a você de preferência sobre o Xcode instalado git que você já tem.

Resposta mais longa.

Interpretando a mensagem de erro.

O problema pode ser entendido observando o conteúdo do script uninstall.sh Bash que vem com o pacote oficial do instalador do Git para Mac OS X para ver exatamente o que faz. Aqui está o snippet perto do topo que mostra o erro que você está vendo:

#!/bin/bash
if [ ! -r "/usr/local/git" ]; then
  echo "Git doesn't appear to be installed via this installer.  Aborting"
  exit 1
fi

Observe a linha if [ ! -r "/usr/local/git" ]; then , o script Bash está verificando a existência desse caminho de diretório:

/usr/local/git/

Mas quando você executou which git , o caminho do diretório de caminho que você obteve foi:

/usr/bin/ 

Isso indica que o instalador oficial instala git seus itens em /usr/local/git/ e não no diretório principal do Mac OS X de /usr/bin/ .

Então, qual é a outra versão de git que você já tem? Vamos verificar a saída de git --version para mais detalhes:

$ git --version
git version 1.7.9.6 (Apple Git-31.1)

Você vê que (Apple Git-31.1) ? Isso indica que foi instalado pela Apple. E como git não faz parte da configuração principal do Mac OS X, a única maneira de instalá-lo foi via Xcode e os binários de linha de comando relacionados.

Então, resumindo, você não pode - e não deve - tentar desinstalar a versão do Xcode de git . Em vez disso, você quer fazer com que o seu Terminal favoreça os git binários instalados em /usr/local/git/bin/ sobre os binários principais do Mac OS X em /usr/bin/ . E você pode fazer isso modificando sua configuração $PATH em ~/.bash_profile desta forma.

Corrigindo o problema.

Primeiro, abra ~/.bash_profile em um editor de texto. Eu prefiro fazer isso diretamente na linha de comando usando nano assim:

nano ~/.bash_profile

Agora, se não houver export $PATH nesse ~/.bash_profile , basta adicionar uma linha $PATH como essa ao arquivo:

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

Se um export $PATH existir, faça uma modificação nesse valor para obter /usr/local/git/bin antes do principal $PATH do sistema. Observe o delimitador : .

Agora feche e salve o arquivo e coloque-o na sessão do Terminal, digitando isto:

source ~/.bash_profile

Agora, se você digitar:

which git

A saída deve ser:

/usr/local/git/bin/git

O que significa que seu Terminal $PATH fará o check-in em /usr/local/git/bin/ antes de prosseguir para verificar outros diretórios nos valores padrão $PATH para o git binário.

Portanto, sem desinstalar a versão Xcode do git , agora você pode baixar e instalar o binário oficial - e atualizado - git e usá-lo sem lidar com o Homebrew ou qualquer outra coisa. Por exemplo, no meu sistema esta é a saída atual de git --version é a seguinte:

git version 2.5.3

Não há (Apple Git-31.1) à vista. Apenas um número de versão git puro que está atualizado e pronto para uso graças a esse ajuste $PATH .

    
por 21.09.2015 / 10:41
-2

Ter o git instalado simplesmente não é suficiente. Lembre-se também que git só funcionará se você for cd em uma pasta funcional do reencaminhamento do git. Isso significa que você deve ver uma pasta ./.git (dica: use ls -la para ver pastas ocultas) e git status deve retornar algo semelhante ao exemplo abaixo:

[some_repo]$ git status
On branch master
Your branch is up-to-date with 'origin/prod'.
nothing to commit, working directory clean

mas se a pasta não for um repositório do git válido, você verá algo assim:

[~]$ git status
fatal: Not a git repository (or any of the parent directories): .git
    
por 21.09.2015 / 10:21