Skąd się wziął / usr / bin / git?

24

Mam mały problem. W pewnym momencie użyłem git, ale nie pamiętam, czy był domyślnie zainstalowany na Lionie.

Oto wersja i ścieżka do git:

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

Mam również nowszy git w / usr / local / git

Chciałbym użyć nowszej wersji, ale nie wiem, czy usunięcie starej (/ usr / bin ma pierwszeństwo w zmiennej path) coś zepsuję.

Jaki jest właściwy sposób rozwiązania tego konfliktu?

Cromestant
źródło
9
git jest instalowany przez Xcode. Ale nie mogę ci powiedzieć, czy to coś zepsuje. W twoich butach przemianowałbym go na wypadek, gdybym musiał go później odłożyć.
Steven Fisher
ah ok .. Cóż, co zrobię, to po prostu zmień nazwę nowego installt o git2 lub coś takiego i użyj go w ten sposób.
cromestant
Miałem na myśli zmianę nazwy starego, zamiast go usuwać. W ten sposób, jeśli masz problemy, możesz po prostu zmienić nazwę z powrotem.
Steven Fisher
1
@StevenFisher powinieneś udzielić odpowiedzi. :)
Ian C.
DOBRZE. Miałem nadzieję, że ktoś będzie miał prawdziwą odpowiedź, która nie miałaby „Nie wiem!” w tym. :)
Steven Fisher

Odpowiedzi:

26

git jest instalowany przez Xcode. Wątpię, czy będziesz mieć problemy, jeśli je zastąpisz, ale nie mogę dać ci ostatecznej odpowiedzi na to…

  1. Chciałbym zmienić nazwę starego /usr/bin/gitna git_old, a następnie polegać na swojej ścieżce, aby wybrać nową.
  2. Jeśli to nie zadziała , przenieś nowy do /usr/bin. Wątpię, czy Xcode jest wybredny w kwestii używanej wersji gita.
  3. Jeśli to nadal nie działa , git_oldwróć do /usr/bin/giti użyj albo bezpośredniej ścieżki, zmiany nazwy lub aliasu dla nowego.

Wątpię jednak, abyś musiał przejść obok nr 1 powyżej. To powinno wystarczyć.

Edycja: Przeczytałem twój oryginalny post wstecz. Pierwszą rzeczą, którą powinieneś zrobić, to upewnić się, że ścieżka zawiera nowy katalog git PRZED katalogiem zawierającym stary git.

Steven Fisher
źródło
3 alternatywy: potwierdzenie, że pierwsza działała dobrze.
Marius Butuc
9

Nie musisz hakować drugiej wersji, chyba że masz mało miejsca. Edytuj plik .bash_profile i upewnij się, że / usr / local / bin występuje przed / usr / bin w zmiennej PATH

Osobiście wolę przyjąć schemat ze zdefiniowanymi ścieżkami narzędzi i ścieżką zbudowaną z nich np

GIT_HOME=/usr/local

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

Oznacza to, że wszystko, co szuka narzędzi za pomocą PATH, znajdzie twoją wersję git, a wszystko, co „naprawdę musi” mieć wersję / usr / bin, najprawdopodobniej będzie miało tę ścieżkę na stałe podłączoną i nadal ją znajdzie

Kevin
źródło
6

Miałem ten sam problem: starą wersję Git, która była wersją Xcode. Próbowałem zainstalować nową wersję Git ze strony http://git-scm.com/ i zaktualizowałem bash_profile

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

Następnie załaduj ponownie swój bash i spróbuj git --version

Pracował dla mnie :)

davidmatas
źródło
1

W moim systemie (10.7.3, Xcode 4.3.2) Xcode gitnie jest zainstalowany /usr/bin/git. Cały Xcode 4 (jak sądzę wszystkie aplikacje z App Store) jest w pakiecie .app. W szczególności jego git jest na /Applications/Xcode.app/Contents/Developer/usr/bin/git.

Używam git (przez Xcode) przez cały czas i nie mam go /usr/bin/gittutaj wcale. Nie jest to więc część domyślnej instalacji Lion, a przynajmniej nie w tej lokalizacji.

FWIW, git w pakiecie Xcode.app ma --versionnastępujący tekst:

wersja git 1.7.7.5 (Apple Git-26)

więc założę się, że /usr/bin/gittwoja instalacja to Twoja własna instalacja, a jej aktualizacja nic nie zaszkodzi.

Alternatywnie, możesz zainstalować Xcode (to nic nie kosztuje!) I umieścić /Applications/Xcode.app/Contents/Developer/usr/bin/swoją $ PATH, ale to przesada, jeśli chcesz tylko git.

Rozpoznać
źródło
Mam również xcode, więc mam obecnie zainstalowane trzy wersje git ... fajne znalezisko!
cromestant
1
jeśli nie masz /usr/bin/git, prawdopodobnie nie zainstalowałeś Xcode „Narzędzia wiersza poleceń”. patrz stackoverflow.com/q/9329243/152142
Justin M. Keyes,
1

Ken ma rację, ponieważ git był dostępny tylko poprzez ścieżkę Xcode.app. Kiedy zainstalowałem Mountain Lion (10.8), nagle miałem git w / usr / bin / git, więc był to dodatek Mountain Lion, o ile wiem ...

Chociaż ... Zainstalowałem już sporo rzeczy i nie jestem do końca pewien, czy nie była to zależność od czegoś innego.

Tomek
źródło
0

Naprawdę nie wiem, myślę, że nie zainstalowałem git ani XCode dla tej chwili, ale po zainstalowaniu homebrew i uruchomieniu brew doctormówi:

$ 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

Więc dlaczego? Właśnie zainstalowałem Narzędzia wiersza poleceń dla XCode (górski lew) i myślę, że to on go zainstalował.

tyoc213
źródło