Eu instalei a versão mais recente do git (1.8.3) usando homebrew, mas quando digito
git --version
no meu terminal, ele imprime:
git version 1.7.10.2 (Apple Git-33)
O que devo fazer para substituir a versão antiga do git pela nova?
Comentários
- Você tem algumas respostas boas – então eu queria comentar a pergunta. Você está procurando instruções explícitas para instalar o git da fonte do homebrew ou um cliente GUI ou apenas a confirmação de que o OS X agrupa várias versões do git com o sistema operacional principal? opensource.apple.com/source/Git (FWIW – O git mais recente Eu ‘ vi o pacote da Apple até agora é 1.7.12.4 que vem do Git-37)
Resposta
Obrigado a todos pelas respostas úteis. No meu caso adicionando
export PATH="/usr/local/bin:${PATH}"
em ~/.bash_profile
seguido por
source ~/.bash_profile
resolveu o problema para meu usuário.
Comentários
- Se quiser que a mudança seja persistente entre os usuários, você pode mover
/usr/local/bin
acima/usr/bin
em/etc/paths
. - Esta é a solução proposta pelo próprio Homebrew ao executar
brew doctor
para diagnosticar o problema - esta resposta deve ser atualizada com a solução proposta pelo KevinT de definição de
/etc/paths
. Definir apenas ” export ” pode não ser suficiente, se/usr/bin
tiver ” precedência ” sobre/usr/local/bin
(da cerveja) … - Lembre-se para reiniciar o terminal! Não ‘ não me ocorreu até que vi Juan Diego Gonzales ‘ o comentário abaixo
- @Souleiman: Restarting isn ‘ t necessário.
source ~/.bash_profile
irá reler isso. Reiniciar provavelmente é mais rápido / fácil. 🙂
Resposta
Status 2020
Todos os truques mencionados aqui em várias respostas não são mais necessários no macOS Sierra, Mojave & Catalina com o Homebrew mais recente. Esqueça export PATH="..."
e modificações em ~/.bash_profile
.
Você simplesmente faz
brew install git
e pronto.
Para confirmar, abra uma nova janela / guia do terminal e digite
git --version
Não se esqueça de abrir uma nova janela. Terminais que estavam abertos antes de você começar a install
não herdarão nenhuma alteração.
Resposta
Ok, estou pronto para levar scm a sério.
$ git --version git version 1.9.5 (Apple Git-50.3)
Não, não era isso que eu queria. Eu < 3 homebrews, então:
$ brew install git
Tudo pronto?
$ git --version git version 1.9.5 (Apple Git-50.3)
Doh! (coça a cabeça)
$ which git /usr/bin/git
Ah, o git da Apple está em / usr / bin, então supera o homebrew. O que fazer?
(A) Apenas renomeie o binário da Apple
(B) Deixe um gerenciado por homebrew ter precedência:
[editar exportação de PATH, por exemplo em ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[especificamente: move / usr / local / bin / git: before / usr / bin:]
… e / ou (por exemplo, para deixar mais amplamente o material do homebrew superar as instalações do sistema, e ter a precedência aplicada a todos os shells e usuários) também editar o arquivo / etc / path, [movendo / usr / local / bin acima / usr / bin]
Mas assumindo apenas a abordagem mais simples / menos invasiva:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Funcionou?
$ which git /usr/local/bin/git
Até aqui tudo bem, agora é a hora da verdade:
$ git --version git version 2.2.1
w00t! 🙂 É hora de ler http://git-scm.com ! 🙂
Comentários
- PS Referente a comentários sobre os riscos de editar / usr / bin: IMHO it ‘ s NBD. (Embora eu goste do Global nomad ‘ s sugestões para fazer ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … que garante que qualquer coisa que chame ” / usr / bin / git ” explicitamente obterá o seu gerenciado por fermentação. Mas, na minha opinião, instalar o git implica que você ‘ retomará a propriedade do git em seu sistema. , versão alternativa do git, pode ser perdida. Recomendo manter as versões do git atualizadas (por segurança, não apenas recursos) e gerenciá-las você mesmo. O Homebrew torna isso fácil. /$0.02
- Isso não ‘ t funcionar para mim, para desfazê-lo, basta fazer: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales funcionou. (basicamente, siga a resposta aceita e reinicie o terminal).
- Mesmo com
which git
apontando para/usr/local/bin/git
, isso não ‘ t trabalhar para mim. Para resolver isso, tive que desinstalar o aplicativo GitHub para Mac. - MacOS 10.12.5:
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
- Basta usar
brew doctor
. Em 2020, recomendoubrew link —overwrite git
Resposta
Assim que você “instalamos o git mais recente via brew (brew install git
), execute este one-liner (conforme sugerido por brew doctor
) se não for já está lá:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Então saia do Terminal e abra-o novamente (reinicie sua sessão bash). Você precisa fazer isso mesmo se seu PATH já estiver correto, pois ZSH e Bash armazenam em cache o conteúdo de PATH (consulte a documentação sobre o comando embutido hash
).
Isso deve consertar as coisas muito rápido.
Comentários
- Como isso difere da resposta aceita?
- Em No meu caso, eu não ‘ não sabia que precisava reiniciar o Terminal, então essa parte pode ajudar algumas pessoas. É mais rápido do que o aceito por causa de um forro. Se ‘ for uma competição, acho que minha resposta está errada. Caso contrário, acho que contribui. (Diga-me se você deseja que eu faça uma edição ao invés desta).
- Você faz isso quando instala o Homebrew
- Achei esta resposta útil. Reiniciar o terminal não é um problema óbvio para muitas pessoas não familiarizadas com o funcionamento do .bash_profile, e um lembrete gentil para o restante de nós.
- @JuanDiegoGonzales Excelente observação! Eu estava me perguntando exatamente a mesma coisa depois que instalei o git e não ‘ não sabia por quê. Depois da dica de cache , fiz mais pesquisas: unix.stackexchange.com/q/5609/52921
Resposta
Tentei e funciona para mim.
brew link --overwrite git
Comentários
- Trabalhou para mim no Mojave (10.14.4)
Resposta
Quando você digita
git --version
no Terminal.app ou console, seu comentário em outra pergunta indica a versão dela retorna é o git em / usr / bin / git
Se você instalou o Xcode 4.5 (e mais recente) e digite
xcrun git --version
em Terminal.app ou console, a versão que ele retorna é o git no pacote de aplicativos Xcode.
Se você estiver usando o Homebrew para instalar e atualizar o git, a solução mais simples é
- certifique-se de ter direitos de administrador, pois “será solicitada a senha do administrador
-
renomeie o local original renomeando-o usando mv. Por exemplo
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
crie um soft link usando “ln -s” para o binário git que você instalou com o Homebrew .
Observe que MattDMo tem uma solução melhor nos comentários.
Comentários
- Isso é 100% seguro? Irá quebrar qualquer coisa relacionada ao Mac?
- Se você seguir as etapas descritas, a solução ‘ não quebrará qualquer coisa pré-instalada, pois os executáveis git não são excluídos. É por isso que na etapa 2 você deve renomear seu / usr / bin / git original para, por exemplo, como /usr/bin/git.BACKUP
- Por favor, ‘ não faça isso – você realmente não deve ‘ t estar brincando com
/usr/bin
, pois ‘ é possível que outros programas que você não ‘ nem sei sobre depender de caprichos associados a uma versão particular. A solução mais fácil, sem mover nada, é adicionar/usr/local/bin
à sua$PATH
variável de ambiente antes de/usr/bin
– IIRC, homebrew instala em/usr/local/bin
- Obrigado @MattDMo, essa parece ser a melhor abordagem neste caso.
Resposta
Instale o git com brew e execute-o.
brew link --force git
Feche e reabra o terminal para executar which git
.
Comentários
- Como isso muda o caminho padrão?
- Funcionou para substituir xcode ‘ s git.
- Recebi um erro durante a execução isso, mas
brew link --overwrite git
funcionou
Resposta
Você precisa renomear o git original da apple em /usr/bin/
a e. g. git-org, uma vez que /usr/bin
está normalmente antes de /usr/local/bin
em seu diretório de caminho onde está o material fermentado.
Então:
cd /usr/bin sudo mv git git-org
e não se esqueça de vincular o git brew
brew link git
Isso assume que /usr/local/bin
está em sua $PATH
variável de ambiente.Se você ainda tiver problemas, tente executar
brew doctor
e corrija os problemas mencionados lá.
Comentários
- Não renomeie ou altere coisas em / usr / bin, pois isso poderia quebrar o thigs da Apple e eles serão alterados quando você fizer uma atualização de sistema ou XCode. use o caminho para o qual ele foi projetado,
- @Mark, você tem um ponto. Mas não acredito que você terá problemas se alterar apenas git em / usr / bin. Para mim, está funcionando há vários meses.
- Eu concordaria que alterar coisas normalmente em / usr / bin é uma má notícia, mas não consigo ‘ não lembrar do SO X está usando git, então o dano pode ser minúsculo e estar relacionado apenas a um sistema ” limpo ” que corresponda aos recibos. O problema seria que uma atualização para o OS X poderia substituir o novo git por uma versão mais antiga, daí a prática normal de localizar um novo binário fora do local do caminho do sistema.
- Acho que seria muito mais fácil adicionar
/usr/local/bin
(homebrew ‘ s diretório de instalação, IIRC) para o$PATH
antes de/usr/bin
em vez de mexer em renomear e fazer backup, etc.
Resposta
Se você estiver instalando o git de git-scm.com diretamente e quiser usar o git baixado mais recente em vez da versão apple (antiga) do git.
- Instale o git a partir de git-scm .com
- Muito provavelmente o novo git será instalado em
/usr/local/bin/git
- Tente
git --version
, se retornar a versão anterior do git da Apple, prossiga abaixo -
cd ~
(altere o diretório para o seu diretório inicial) - digite
vi .bashrc
- Use
i
(para inserir texto no editor vi) - Se você encontrar uma linha com
export PATH.......
, pressione Enter no topo da exportação e digite o seguinte:export PATH=/usr/local/:$PATH
(Tenha muito cuidado com a variávelPATH
, não bagunce tudo, pois isso causará problemas para o seu sistema operacional) new git deve ser instalado em/usr/local/git
) - Pressione esc
- Digite
:wq
(para salve o.bashrc
arquivo) - Saia do terminal e inicie um novo terminal
- Agora tente
git --version
(você deve ver a nova versão)
Resposta
Faça um alias simples para evitar a alteração do caminho:
alias git=/usr/local/bin/git
Resposta
Eu “tentei muitas coisas, incluindo toda esta postagem” s respostas. Finalmente consegui fazer com que a versão brew “s do git rodasse em vez do Xcode” s simplesmente excluindo a pasta de ferramentas adicionais do Xcode:
sudo rm -rf /Library/Developer/CommandLineTools
Resposta
Ao usar brew install git
para a instalação, observe que ele instala git
em:
==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB
Você irá também obterá um erro, que aparece anteriormente no log e provavelmente você o esqueceu:
==> Downloading https://homebrew.bintray.com/bottles/git-2.29.2.big_sur.bottle.t Already downloaded: /Users/chadjinik/Library/Caches/Homebrew/downloads/08165d120fcebc7823c487a6778b2ea0e67fd2cd9177d6e7d656268f474ab5da--git-2.29.2.big_sur.bottle.tar.gz ==> Pouring git-2.29.2.big_sur.bottle.tar.gz Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local 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
Basta executar:
brew link --overwrite git
e você deve se sair bem.
Resposta
Depende de onde seu git vem. O Xcode traz uma versão, por exemplo, talvez isso seja inicial em seu caminho.
Talvez digitar
which git
mostrará onde está o antigo.
Comentários
- it ‘ s em
/usr/bin/git
… - Isso se parece com duas instalações. Acho que a versão git normal (para download) vai para / usr / local / git / … É ‘ então uma questão de adicioná-lo ao caminho ou remover o outro (ou ambos)