Wie aktualisiere ich auf die neueste Version von Git unter Windows? Zeigt immer noch ältere Version

375

Ich habe gerade ein Upgrade von meiner vorherigen Version 1.7.9.mysysgit.0 auf Git 1.8.0.1 für Windows durchgeführt. Ich habe die neue Version von der Git-Site heruntergeladen und über das normale Git-Installationsprogramm EXE installiert.

Das heißt, wenn ich mein Terminalfenster starte, wird immer noch angezeigt, dass ich die Git-Version 1.7.9.mysysgit.0 ausführe. Wenn ich an meiner Eingabeaufforderung "git --version" eingebe, dasselbe.

Ich habe diesen Artikel zu einem ähnlichen Problem mit Git unter Mac OS X gefunden , was mich glauben lässt, dass es etwas mit einem fehlerhaften PATH zu tun hat, aber ich bin noch ziemlich neu (5 Monate Autodidakt), also ich Ich weiß nicht, wie ich das in Windows übersetzen soll.

Dieses Problem trat auf, als ich ein neues Rails-Projekt startete und versuchte, es auf Git zu übertragen. Ich habe die Fernbedienung hinzugefügt:

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

dann:

git push -u origin master

Ich habe die folgende Fehlermeldung erhalten:

fatal: https://github.com refs nicht gefunden: hast du git update-server-info auf dem server ausgeführt?

Das Googeln dieses Fehlers führte mich zu diesem Artikel , der mich zum Upgrade aufforderte, und hier bin ich.

BrianScottK
quelle

Antworten:

722

Seit Git 2.16.1 (2) können Sie verwenden

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

In Versionen zwischen 2.14.2 und 2.16.1 war der Befehl

C:\> git update

(Es wurde später umbenannt, um Verwechslungen mit der Aktualisierung des lokalen Repositorys zu vermeiden, z svn update. B. wie es ist.)

Dieser Befehl ist in Git 2.13 und früher nicht vorhanden.

Wenn dieser Fehler mit "ist kein Git-Befehl" vorliegt, haben Sie entweder Git für Windows nicht oder Ihre Version ist sehr alt.

In diesem Fall rufen Sie einfach das neueste Installationsprogramm unter https://git-scm.com/download ab (prüfen Sie, ob Sie 32- oder 64-Bit möchten) und führen Sie es zum Upgrade aus.

Wenn Sie bereits über die neueste Version verfügen, wird nichts unternommen. In diesem Fall können Sie das Installationsprogramm manuell ausführen, um es neu zu installieren.

C:\> git update-git-for-windows
Git for Windows 2.17.0.windows.1 (64bit)
Up to date
Niederländischer Ruhm
quelle
60
Ich weiß nicht, warum dies so herabgestuft wird - es ist die richtige Antwort, wie man Git unter Windows aktualisiert.
OrangeDog
3
> Git-Update in Version 2.14 hat bei mir nicht funktioniert (unter Windows). Ich habe das von der Website heruntergeladene Installationsprogramm verwendet und alles lief reibungslos (jetzt am 2.17.1)
Gianni
2
Funktioniert wie ein Zauber, danke. Sollte definitiv nicht herabgestuft werden.
Rsenna
3
Ich denke, es wird herabgestuft, weil die Version, in der diese Befehle funktionieren, spezifischer ist als ursprünglich angegeben. git updatefunktioniert erst in 2.14.2, was bedeutet, dass diese Antwort für Leute wie @defines oben falsch aussieht.
Rickibarnes
3
Ich denke, ich muss mein Git für Windows deinstallieren und die neueste Version neu installieren, da die Version, die ich verwende, die Git-Version 2.14.1.windows.1 ist .
KaiserKatze
86

Überprüfen Sie zunächst Ihre Git-Version mit diesem Befehl

git version

Folgen Sie dann dem Fall entsprechend Ihrer Git-Version

Drei Fälle:

  1. Wenn Ihre Git-Version 2.14.1 oder früher ist:

    Deinstallieren Sie das Git, laden Sie das neueste Git herunter und installieren Sie es erneut.

  2. Und Versionen zwischen 2.14.2 und 2.16.1:

    Befehl verwenden git update

  3. Wenn die Version gleich oder größer als Git 2.16.1 (2) ist:

    Befehl verwenden git update-git-for-windows

Arslan Ahmad
quelle
4
Ich war verrückt nach einem git updateFehler in der Version 2.14.1. Diese Antwort ist also die richtige Antwort, da sie diesen nicht existierenden Befehl vor 2.14.2 anspricht.
Erick Petrucelli
34

Update (26SEP2016): Es ist nicht mehr erforderlich, Ihre vorherige Version von git zu deinstallieren, um sie auf die neueste Version zu aktualisieren. Das Installationspaket auf der Download-Site von git win kümmert sich um alles. Folgen Sie einfach den Anweisungen. Weitere Informationen finden Sie in den Anweisungen zum Installieren und Aktualisieren von git .

David
quelle
9
Es ist nicht so, dass das Installationsprogramm "sich um alles kümmert", es überschreibt einfach die vorherige Installation. Wenn es also benutzerdefinierte Einstellungen gibt, werden diese überschrieben!
Celdor
4
Gibt es eine Möglichkeit, meine vorhandenen Einstellungen zu aktualisieren und beizubehalten? Wenn ich das Windows-Installationsprogramm ausführe, um das Upgrade durchzuführen, werden mir dieselben komplizierten Fragen gestellt, die bei der Erstinstallation gestellt wurden (zu Zeilenenden, Editoreinstellungen usw.). Was ich wirklich will, ist, einfach die neue Version zu bekommen und alle meine vorhandenen Einstellungen
Andy
@Andy, ich bin nicht sicher, ob es jede Einstellung abdeckt, aber ich würde vor dem Upgrade den Befehl git-config verwenden, Ihre Werte in einem Skript speichern, mit Standardeinstellungen aktualisieren und dann das Skript verwenden, um Ihre Einstellungen anzupassen. Referenz: git-scm.com/docs/git-config
David
3
Das Installationsprogramm überschreibt keine Einstellungen und alle Einstellungen, die Sie in der Installation auswählen können, werden standardmäßig auf ihre aktuellen Werte gesetzt.
OrangeDog
17

Mit dem Befehl "where git" erfahren Sie, wie die Eingabeaufforderung die Version aufnimmt. Sobald Sie den Pfad haben, können Sie die vorherige Version vollständig deinstallieren / löschen. Wenn Sie dann installieren und sicherstellen, dass sich der neu installierte Speicherort im Pfad befindet, sollte dies problemlos funktionieren.

Die Verwendung von git-freundlichen Tools wie cmder erleichtert Ihnen das Leben erheblich. Sie müssen nicht mehr wirklich Dual Boot oder Cygwin verwenden, da die Unterstützung für Git in Windows bereits jetzt erstklassig ist. (Git für Windows installiert msysgit, das alle erforderlichen Unix-Tools von MinGW enthält. MinGW ist schon eine Weile da und ziemlich stabil. Wenn Sie möchten, können Sie die Vollversion von msysgit anstelle von Git für Windows installieren. Msysgit ist auf Git für verfügbar Windows-Seite unten.)

Rajan Ponnappan
quelle
2
Ich habe gerade festgestellt, dass ich eine alte Frage beantwortet habe. Aber könnte für andere nützlich sein, die auf diese Seite kommen ...
Rajan Ponnappan
2
Die Verbindung zu cmder ist unterbrochen :(
FirefoxMetzger
Es sieht so aus, als ob der cmder-Link wieder funktioniert
Rajan Ponnappan
13

Renn einfach:

$ git update-git-for-windows
moriarty007
quelle
11

Git Bash

Hinweis: Wenn Sie stattdessen herausfinden Git Bashmöchten , welche Version von Ihnen ausgeführt wird, oder sehen möchten, ob Sie ein Update durchführen müssen Git Bash, ist dies Teil von Git for Windows.

Ihre Git Bash-Version lautet also:

git --version

Git Version 2.23.0.windows.1

Beachten Sie, dass es sich technisch von unterscheidet Bash. Auf demselben Computer, wenn ich laufe:

echo $BASH_VERSION

4.4.23 (1) -Freisetzung

Git für Windows Installer

Um auf die neueste Version von Git und Git Bash zu aktualisieren, können Sie die neueste Version von git für Windows herunterladen und installieren . Wie pro FAQ , sollten Einstellungen / Anpassungen beibehalten werden , wenn sie in den entsprechenden Konfigurationsordner installiert wurden.

Hinweis: Ihr Installationsprogramm ist intelligent darauf ausgelegt, das Richtige zu tun (außer Ihnen mitzuteilen, dass es automatisch das Richtige tut). Wenn Sie ein Update durchführen, ist jeder Bildschirm im Installationsprogramm mit den Einstellungen Ihrer aktuellen (bald vorherigen) Installation vormarkiert.

Es werden keine allgemeinen Standardeinstellungen angezeigt. Sie müssen keine von ihnen nachschlagen oder befürchten, Ihr sorgfältig geschliffenes Setup zu beschädigen. Lassen Sie einfach alles so wie es ist, um Ihre vorherigen Entscheidungen beizubehalten.

Tatsächlich haben sie es noch einfacher gemacht (wenn nur klar wäre, dass sie es getan haben).
Unten befindet sich ein Kontrollkästchen [] Show only new settings(ich erinnere mich nicht an den genauen Wortlaut). Da sich auf dem ersten Bildschirm nichts ändert, wenn Sie das Feld markieren, ist nicht genau ersichtlich, wofür es gedacht ist. Wenn Sie das Kontrollkästchen markieren, bleiben alle Ihre aktuellen Einstellungen erhalten, und die folgenden Einstellungsbildschirme werden Ihnen nicht angezeigt. Es werden nur Bildschirme mit neu eingeführten Einstellungen angezeigt.

Git Update-Git-für-Windows

Alternativ können Sie, wie andere angemerkt haben, Git Bash und Git (per Definition werden beide immer gleichzeitig aktualisiert) über die Git Bash-Befehlszeile über Folgendes aktualisieren:

git update-git-for-windows  

Wenn Sie git updateeingeben, erinnert git Sie freundlich daran, dass der Befehl aktualisiert wurde auf git update-git-for-windows:

Warnung! git updatewurde veraltet;
Bitte verwenden Sie git update-git-for-windowsstattdessen.
Git für Windows 2.26.0.windows.1 (64bit)
Up to date

SherylHohman
quelle
6

Basierend auf der letzten Antwort von @Simon habe ich zuerst die neue Version von Git deinstalliert. Ich habe dann wieder- um die neue Version von Git in das gleiche Verzeichnis wie die alte Version installiert , C:/RailsInstaller/Gitanstelle des Standardverzeichnisses C:/Git.

Jetzt zeigt mein Rails-Terminalfenster, dass ich die neue Git-Version 1.8.0 verwende.

BrianScottK
quelle
2

Gehen Sie PATHwie folgt vor , um Ihre Variable zu überprüfen :

  1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz und dann auf Eigenschaften.
  2. Klicken Sie in der linken Spalte auf den Link Erweiterte Systemeinstellungen.
  3. Klicken Sie im Fenster Systemeigenschaften auf die Schaltfläche Umgebungsvariablen.

Wenn Sie dort angekommen sind, scrollen Sie, um die PathZeile zu erhalten. Sie erhalten eine lange Reihe von Pfaden (z. B. C:\windows\bin;C:\program files\gitusw.)

Suchen Sie die Zeile oder Zeilen, auf gitdie verwiesen wird. Stellen Sie dann sicher, dass dieser Pfad auf Ihre Git 1.8.x-Installation verweist. Wenn nicht, löschen Sie es und fügen Sie den echten Pfad zur neuesten Git-Version hinzu. Am Ende sollte nur ein Pfad in der Zeichenfolge vorhanden sein, die mit Git verknüpft ist.

Ich hoffe das hilft!

Simon Boudrias
quelle
Danke für die Hilfe, @Simon, aber ich habe immer noch Probleme. Ich konnte das findenPath Zeile in meinen Umgebungsvariablen finden. Sie hatten insofern Recht, als es sich um eine ältere Version von Git handelte. (Anscheinend habe ich 2 Versionen. Mein Original wurde über RailsInstaller im RailsInstaller-Verzeichnis installiert, und das neue, das ich gerade in seinem eigenen Verzeichnis installiert habe.) Meine PathZeile wurde gelesen C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\binund basierend auf Ihrer Antwort habe ich sie geändert C:\Git;C:\RailsInstaller\Ruby1.9.3\bin, aber meine Terminal zeigt immer noch v 1.7.9 ...
BrianScottK
Haben Sie nach der Änderung eine neue Eingabeaufforderung geöffnet, um die Version zu überprüfen? Außerdem C:\Gitsollten Sie einen Git Bash haben, ihn öffnen und überprüfen, ob Sie die richtige Version in dieser Bash haben. Dadurch wird bestätigt, dass in diesem Ordner 1.8 wirklich installiert ist. Wenn dies nicht der Fall ist, versuchen Sie, die alte Version zu deinstallieren und die neue neu zu installieren.
Simon Boudrias
Danke, @Simon! Dies funktionierte nicht genau, führte mich aber zu der richtigen Antwort, die ich unten skizziert habe. Schätzen Sie die Hilfe!
BrianScottK
1
Ein schnellerer Weg, um eine Liste von Pfaden zu erhalten, besteht darin, Powershell zu öffnen und Folgendes einzugeben:$env:path -split ';'
Dave Sexton
Sie können verwenden where git zu sehen, wo Git installiert ist. Stellen Sie sicher, dass sich der Pfad in Ihrem befindet PATH. Ich mag die @ DaveSexton-Methode oben zum Anzeigen der PATH-Variable. Gibt es eine Möglichkeit, eine ähnliche Liste aus einem Git Bash-Fenster anstelle von Powershell zu erhalten?
SherylHohman
2

wenn Sie nur tippen

$ git update

on bash git informiert Sie darüber, dass der Befehl 'update' nicht mehr funktioniert, und zeigt den korrekten Befehl 'update-git-for-windows' an.

Trotzdem wird das Update fortgesetzt. Sie müssen nur "y" drücken.

Wenn Sie Probleme damit haben, führen Sie die Bashh als Administrator aus oder fügen Sie den Pfad 'git.exe' zu den "zulässigen Apps durch kontrollierten Ordnerzugriff" hinzu.

Ailia
quelle
2

Wenn Sie sich das neueste Update ansehen Git-Website im Abschnitt "git via git" ansehen, sehen Sie eine Option zum Aktualisieren Ihrer älteren Version.

Hier ist der Befehl, den git auf seiner Site hat:

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

Es funktionierte für meine Version von Git, die eine war 2.13.0.windows.1.

Nate
quelle
Okay, falscher Alarm. Das Update wird als "erledigt" angezeigt, die Version wird jedoch als dieselbe angezeigt. Daher habe ich die neueste Version von Git deinstalliert und heruntergeladen.
Nate
1

Ich glaube nicht, dass Ihr Problem mit Windows Global PATH zusammenhängt remote spezifisch für Repo ist.

Ich empfehle Ihnen, Git unter Cygwin zu verwenden. Git könnte unter der Windows-Befehlszeile funktionieren, aber es kann einige seltsame Probleme geben, die schwer herauszufinden sind. Unter Cygwin ist es mehr Natur und hat weniger Fehler.

Sie müssen bashlediglich Windows CMD eingeben und dann die Unix-Tools und -Befehle verwenden. Sie können eine Verknüpfung zum Laden verwendenbash . Dies ist so einfach wie die Verwendung von normalem Windows CMD.

Gleiches gilt für Rails und Ruby. Ich habe zuvor RailsInstaller verwendet, aber festgestellt, dass die Verwendung von Cygwin zur Installation von Rails stabiler ist.

Schließlich werde ich vorschlagen, Ubuntu Dual Boot zu installieren, wenn Sie Zeit haben (etwa einen Monat, um sich vertraut zu machen). Windows ist letztendlich nicht sehr freundlich zu allen Unix-Tools. Sie werden feststellen, dass alle Schmerzen gestoppt sind.

Billy Chan
quelle
Ich habe gehört, dass andere Leute dies vorschlagen, aber im Moment bin ich einfach zu neu, um einen Unterschied zwischen Cygwin und Windows CMD zu bemerken.
BrianScottK
1
Cygwin ahmt die Unix-Umgebung nach. Alle Befehle sehen wie native aus, und die Umgebung für Unix befindet sich an einem Ort - im Ordner cygwin. Wenn Sie nicht auf Linux vorbereitet sind, verwenden Sie mindestens cgywin.
Billy Chan
2
Cygwin ist scheiße, es ist sehr aufgebläht und es gibt eine Menge überraschender und gebrochener Verhaltensweisen. Wenn Sie Git unter Windows verwenden möchten, sollten Sie Git definitiv für Windows verwenden - es bietet sogar eine native Windows-Bash und einige * NIX-Tools. Wenn Sie wirklich eine vollständige Linux-Umgebung unter Windows wünschen, gehen Sie zum Microsoft Store und installieren Sie eine davon (Ubuntu, SUSE, Debian, Kali).
OrangeDog