Jak uaktualnić do najnowszej wersji Git na Windows? Wciąż pokazuje starszą wersję

375

Właśnie zaktualizowałem system do wersji Git 1.8.0.1 dla systemu Windows z poprzedniej wersji 1.7.9.mysysgit.0. Pobrałem nową wersję z witryny Git i zainstalowałem ją za pomocą zwykłego pliku instalatora EXE.

To powiedziawszy, kiedy uruchamiam okno terminala, wciąż pokazuje, że korzystam z gita w wersji 1.7.9.mysysgit.0. Kiedy piszę „git --version” z mojego monitu, to samo.

Znalazłem ten artykuł na podobny temat z Git na Mac OSX , co prowadzi mnie do wniosku, że ma to coś wspólnego z wadliwą ŚCIEŻKĄ, ale wciąż jestem całkiem nowy (5 miesięcy samouka), więc nie potrafię przetłumaczyć tego na Windows.

Ten problem pojawił się, kiedy rozpocząłem nowy projekt Rails i próbowałem przekazać go Gitowi. Dodałem pilota:

git remote add origin [email protected]:brianscottk/blog.git

następnie:

git push -u origin master

Otrzymałem następujący komunikat o błędzie:

fatal: https://github.com refs not found: czy uruchomiłeś git update-server-info na serwerze?

Googlowanie tego błędu doprowadziło mnie do tego artykułu , który zachęcił mnie do aktualizacji, i oto jestem.

BrianScottK
źródło

Odpowiedzi:

722

Od Gita 2.16.1 (2) możesz używać

C:\> git update-git-for-windows

W wersjach od 2.14.2 do 2.16.1 polecenie było

C:\> git update

(Później zmieniono jego nazwę, aby uniknąć nieporozumień związanych z aktualizacją lokalnego repozytorium, np. Jak svn updateto robi).

To polecenie nie istnieje w Git 2.13 i wcześniejszych.

Jeśli ten błąd z „nie jest poleceniem git”, oznacza to, że tak naprawdę nie masz Git dla Windows lub twoja wersja jest bardzo stara.

W takim przypadku po prostu pobierz najnowszy instalator ze strony https://git-scm.com/download (sprawdź, czy chcesz 32- lub 64-bitowy) i uruchom go, aby dokonać aktualizacji.

Jeśli masz już najnowszą wersję, nic nie robi, w takim przypadku możesz ręcznie uruchomić instalator, aby zainstalować ponownie.

C:\> git update-git-for-windows
Git for Windows 2.17.0.windows.1 (64bit)
Up to date
Holenderska chwała
źródło
60
Nie wiem, dlaczego jest to tak zaniżone - to poprawna odpowiedź na pytanie, jak zaktualizować Gita w systemie Windows.
OrangeDog
3
> Aktualizacja git w wersji 2.14 nie działała dla mnie (w systemie Windows). Skorzystałem z instalatora pobranego ze strony i wszystko poszło gładko (teraz 2.17.1)
gianni
2
Działa jak urok, dzięki. Zdecydowanie nie powinien być oceniany negatywnie.
rsenna
3
Myślę, że jest to odrzucone, ponieważ wersja, w której działają te polecenia, jest bardziej szczegółowa niż pierwotnie określona. git updatenie działa aż do 2.14.2, co oznacza, że ​​dla osób takich jak @defines powyżej, ta odpowiedź wygląda źle.
rickibarnes
3
Myślę, że muszę odinstalować Git dla Windows i ponownie zainstalować najnowszą wersję, ponieważ używam wersji git 2.14.1.windows.1 .
KaiserKatze,
85

Najpierw sprawdź swoją wersję git za pomocą tego polecenia

git version

Następnie postępuj zgodnie ze sprawą zgodnie z wersją git

Trzy przypadki:

  1. Jeśli Twoja wersja git to 2.14.1 lub wcześniejsza:

    Odinstaluj git, pobierz najnowszy git i zainstaluj go ponownie.

  2. Oraz wersje od 2.14.2 do 2.16.1:

    Użyj polecenia git update

  3. Jeśli wersja jest równa lub większa niż Git 2.16.1 (2):

    Użyj polecenia git update-git-for-windows

Arslan Ahmad
źródło
4
Oszalałem z git updatepowodu błędu w wersji 2.14.1. Tak więc ta odpowiedź jest właściwą odpowiedzią, ponieważ odnosi się do polecenia nieistniejącego przed 2.14.2.
Erick Petrucelli,
34

Aktualizacja (26SEP2016): Nie trzeba już odinstalowywać poprzedniej wersji git, aby zaktualizować ją do najnowszej; pakiet instalatora znajdujący się na stronie pobierania git win dba o wszystko. Postępuj zgodnie z instrukcjami. Aby uzyskać dodatkowe informacje, postępuj zgodnie z instrukcjami instalacji i aktualizacji git .

David
źródło
9
Nie jest tak, że instalator „dba o wszystko”, po prostu zastępuje poprzednią instalację. Więc jeśli są ustawienia niestandardowe, zostaną zastąpione!
Celdor,
4
Czy istnieje sposób na uaktualnienie i zachowanie moich istniejących ustawień? kiedy uruchamiam instalator systemu Windows, aby wykonać aktualizację, zadaje mi te same skomplikowane pytania, które zadałem przy pierwszej instalacji (dotyczące zakończenia linii, preferencji edytora itp.). To, czego naprawdę chcę, to po prostu pobrać nową wersję i zachować wszystkie moje istniejące ustawienia
Andy
@Andy, nie jestem pewien, czy obejmie to każde ustawienie, ale przed aktualizacją użyłbym polecenia git-config, zapisałbym twoje wartości w skrypcie, uaktualnił z ustawieniami domyślnymi, a następnie użyłem skryptu do dostosowania ustawień. Odniesienie: git-scm.com/docs/git-config
David
3
Instalator nie zastępuje żadnych ustawień, a wszystkie ustawienia, które można wybrać w domyślnej instalacji, odpowiadają ich bieżącym wartościom.
OrangeDog
17

Za pomocą polecenia „where git” dowiedz się, jak wiersz polecenia wybiera wersję. Po ustaleniu ścieżki możesz całkowicie odinstalować / usunąć poprzednią wersję. Następnie, jeśli zainstalujesz i upewnisz się, że nowa zainstalowana lokalizacja znajduje się na ścieżce, powinna działać poprawnie.

Korzystanie z przyjaznych dla git narzędzi, takich jak cmder , znacznie ułatwi Ci życie. Nie musisz już używać podwójnego rozruchu ani cygwina, ponieważ obsługa git w Windows jest już na najwyższym poziomie. (Git dla Windows instaluje msysgit, który zawiera wszystkie niezbędne narzędzia uniksowe od MinGW. MinGW istnieje już od dłuższego czasu i jest dość stabilny. Jeśli chcesz, możesz zainstalować pełną wersję msysgit zamiast Git dla Windows . Msysgit jest dostępny na Git dla strona systemu Windows na dole).

Rajan Ponnappan
źródło
2
Właśnie zdałem sobie sprawę, że odpowiedziałem na stare pytanie. Ale może być przydatny dla innych osób
odwiedzających
2
link do cmder jest zepsuty :(
FirefoxMetzger 20.04.17
Wygląda na to, że link cmder znów działa
Rajan Ponnappan
13

Po prostu biegnij:

$ git update-git-for-windows
moriarty007
źródło
11

Git Bash

Uwaga: jeśli zamiast tego chcesz dowiedzieć się, z której wersji korzystasz Git Bash, lub chcesz sprawdzić, czy musisz ją zaktualizować Git Bash, jest to część Git for Windows.

Twoja wersja Git Bash to:

git --version

wersja git 2.23.0.windows.1

Pamiętaj, że technicznie różni się od Bash. Na moim komputerze, gdy uruchamiam:

echo $BASH_VERSION

Wydanie 4.4.23 (1)

Instalator Git dla Windows

Aby zaktualizować do najnowszej wersji Git i Git Bash, możesz pobrać i zainstalować najnowszą wersję git dla systemu Windows . Zgodnie z FAQ , ustawienia / dostosowania powinny zostać zachowane, jeżeli zostały zainstalowane w odpowiednich folderach konfiguracyjnych.

Uwaga: ich instalator jest tak naprawdę inteligentnie zaprojektowany, aby postępować właściwie (z wyjątkiem powiadamiania cię, że robi to automatycznie). Jeśli wykonujesz aktualizację, każdy ekran instalatora jest wstępnie oznaczony ustawieniami z bieżącej instalacji (wkrótce będzie poprzedniej).

Nie pokazuje ogólnych ustawień domyślnych. Nie musisz szukać żadnego z nich, ani obawiać się, że przerwiesz swoją starannie dopracowaną konfigurację. Po prostu zostaw wszystko tak, jak jest, aby zachować poprzednie wybory.

W rzeczywistości sprawili, że stało się to jeszcze łatwiejsze (choćby było jasne, że to zrobili).
U dołu znajduje się pole wyboru [] Show only new settings(nie pamiętam dokładnego sformułowania). Ponieważ nic na pierwszym ekranie nie zmienia się po zaznaczeniu pola, nie jest do końca oczywiste, do czego służy. Jeśli zaznaczysz pole, wszystkie bieżące ustawienia zostaną zachowane, a ekran wyświetli kolejne ekrany ustawień. Wyświetlane będą tylko ekrany z nowo wprowadzonymi ustawieniami.

git update-git-for-windows

Alternatywnie, jak zauważyli inni, możesz także aktualizować Git Bash i Git (z definicji oba są zawsze aktualizowane w tym samym czasie) z wiersza poleceń Git Bash, poprzez:

git update-git-for-windows  

Jeśli wpiszesz git update, git uprzejmie przypomina, że ​​polecenie zostało zaktualizowane do git update-git-for-windows:

Ostrzeżenie! git updatezostał uznany za przestarzały;
Użyj git update-git-for-windowszamiast tego.
Git dla systemu Windows 2.26.0.windows.1 (64-bitowy)
na bieżąco

SherylHohman
źródło
6

Na podstawie ostatniej odpowiedzi @Simon najpierw odinstalowałem nową wersję Git. I następnie ponownie zainstalować nową wersję Git w tym samym katalogu, w starej wersji , C:/RailsInstaller/Gitzamiast domyślnego katalogu C:/Git.

Teraz moje okno terminala pokazuje, że korzystam z nowej wersji gita 1.8.0.

BrianScottK
źródło
2

aby sprawdzić swoją PATHzmienną, wykonaj następujące czynności:

  1. Na pulpicie kliknij prawym przyciskiem Mój komputer i wybierz Właściwości.
  2. Kliknij link Zaawansowane ustawienia systemu w lewej kolumnie.
  3. W oknie Właściwości systemu kliknij przycisk Zmienne środowiskowe.

Tam przewiń, aby uzyskać Pathwiersz, otrzymasz długi ciąg ścieżek (np. C:\windows\bin;C:\program files\gitItp.)

Znajdź linię lub linie, do których gitsię odwołuje. Następnie upewnij się, że ta ścieżka wskazuje na instalację Git 1.8.x. Jeśli nie, usuń go i dodaj prawdziwą ścieżkę do najnowszej wersji Git. Na koniec powinieneś mieć tylko jedną ścieżkę w ciągu łączącą z Git.

Mam nadzieję, że to pomoże!

Simon Boudrias
źródło
Dzięki za pomoc, @ Simon, ale wciąż mam problemy. Udało mi się zlokalizować Pathwiersz w moich zmiennych środowiskowych. Miałeś rację, ponieważ kierował do czegoś, co wydaje się być starszą wersją Gita. (Najwyraźniej mam 2 wersje. Mój oryginał zainstalowany przez RailsInstaller w katalogu RailsInstaller i nowy, który właśnie zainstalowałem we własnym katalogu). Mój Pathwiersz przeczytałem C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\bini na podstawie twojej odpowiedzi zmieniłem go na C:\Git;C:\RailsInstaller\Ruby1.9.3\bin, ale mój terminal wciąż pokazuje v 1.7.9 ...
BrianScottK
Czy po zmianie otworzyłeś nowy wiersz polecenia, aby sprawdzić wersję? Ponadto, C:\Gitpowinieneś mieć git Bash, otwórz go i sprawdź, czy masz odpowiednią wersję w tym bashu, to potwierdzi, że ten folder jest tam, gdzie naprawdę zainstalowano 1.8. Jeśli nic nie robi, spróbuj odinstalować starą wersję i ponownie zainstalować nową.
Simon Boudrias,
Dzięki, @ Simon! To nie działało dokładnie, ale doprowadziło mnie do właściwej odpowiedzi, którą przedstawiłem poniżej. Doceń pomoc!
BrianScottK,
1
Szybszym sposobem na uzyskanie listy ścieżek jest otwarcie Powershell i wprowadzenie następujących danych:$env:path -split ';'
Dave Sexton
Możesz użyć, where gitaby zobaczyć, gdzie jest zainstalowany Git. Upewnij się, że ścieżka jest w twoim PATH. Lubię metodę @DaveSexton powyżej do przeglądania zmiennej PATH var. Czy istnieje sposób, aby uzyskać podobną listę z okna Git Bash, a nie Powershell?
SherylHohman
2

jeśli po prostu napiszesz

$ git update

na bash git poinformuje cię, że polecenie „aktualizacja” już nie działa i wyświetli prawidłowe polecenie, które brzmi „update-git-for-windows”

ale aktualizacja będzie kontynuowana, wystarczy nacisnąć „y”

jeśli masz problemy, uruchom bashh jako administrator lub dodaj ścieżkę „git.exe” do „dozwolonych aplikacji poprzez kontrolowany dostęp do folderów”.

ailia
źródło
2

Jeśli spojrzysz na najnowszą aktualizację w witrynie Git w sekcji „git via git” , zobaczysz opcję aktualizacji starszej wersji.

Oto polecenie, które git ma na swojej stronie:

git clone https://github.com/git/git

Działa z moją wersją git, która była 2.13.0.windows.1.

Nate
źródło
OK, fałszywy alarm. Aktualizacja pokazuje się jako „zrobiona”, jednak wersja pokazuje się tak samo, więc odinstalowałem i pobrałem najnowszą wersję Git.
Nate
1

Nie sądzę, że twój problem jest związany z globalną PATH systemu Windows, tak jak w remoteprzypadku repozytorium.

Polecam używać Git pod Cygwin. Git może działać w wierszu poleceń systemu Windows, ale mogą pojawić się dziwne problemy, trudne do rozwiązania. Pod Cygwinem jest więcej natury i mniej błędów.

Wystarczy wpisać bashWindow CMD, a następnie zacząć korzystać z narzędzi i poleceń Uniksa. Aby załadować bash, możesz użyć skrótu , jest to tak proste, jak użycie zwykłego CMD systemu Windows.

To samo dotyczy Railsów i Ruby. Wcześniej używałem RailsInstaller, ale stwierdziłem, że użycie Cygwina do zainstalowania Railsów jest bardziej stabilne.

Wreszcie zasugeruję zainstalowanie podwójnego rozruchu Ubuntu, jeśli masz czas (około miesiąca na zapoznanie się). Windows ostatecznie nie jest zbyt przyjazny dla wszystkich narzędzi Uniksa. Przekonasz się, że ból ustał.

Billy Chan
źródło
Słyszałem, jak inni to sugerują, ale teraz czuję, że jestem po prostu zbyt nowy, aby zauważyć różnicę w Cygwin w porównaniu z Windows CMD.
BrianScottK
1
Cygwin będzie naśladować środowisko uniksowe. Wszystkie polecenia będą wyglądały jak natywne, a środowisko vairables dla unixa będzie w jednym miejscu - w folderze cygwin. Jeśli nie jesteś przygotowany na Linuksa, użyj przynajmniej cgywin.
Billy Chan,
2
Cygwin jest do bani, jest bardzo wzdęty i jest mnóstwo zaskakujących i złamanych zachowań. Jeśli chcesz korzystać z Git w systemie Windows, zdecydowanie powinieneś użyć Git dla Windows - zapewnia on nawet natywną wersję systemu Windows i kilka narzędzi * NIX. Jeśli naprawdę chcesz mieć pełne środowisko Linux na Windows, przejdź do Microsoft Store i zainstaluj jedno z nich (Ubuntu, SUSE, Debian, Kali).
OrangeDog