Aufschlüsselung der Git-Versionsnummer

717
Meltemi

Ziemlich neu bei Git. Ich habe es kürzlich auf meinem Mac aktualisiert. Ich habe ein Upgrade mit diesen 4 Befehlen durchgeführt:

$ git clone git://git.kernel.org/pub/scm/git/git.git $ cd git $ make prefix=/usr/local all $ sudo make prefix=/usr/local install  $ git --version git version 1.7.3.2.164.g6f10c 

meine alte Version von Git war einfach: 1.7.1.x

Besitze ich eine Vorabversion? Wenn ja, wie kann ich git selbst verwenden, um den neuesten stabilen Build zu überprüfen ? git branch -aholt mich:

$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/html remotes/origin/maint remotes/origin/man remotes/origin/master remotes/origin/next remotes/origin/pu remotes/origin/todo 
1

3 Antworten auf die Frage

2
Ken Bloom

Ich denke, dass dies wie folgt abbricht:

Die Version von git, die Sie ausführen, hat seit Version 1.7.3.24 164 Commits ausgeführt. Die genaue Revisionsnummer für git beginnt mit dem Präfix g6f10c (diese 6 Ziffern sollten ausreichen, um das Commit eindeutig zu identifizieren, wenn Sie insbesondere auf diese Revision verweisen müssen).

Sie können freigegebene Versionen sehen, indem git tagSie ausführen , und Version 1.7.3.2 erhalten Sie durch Ausführen genaugit checkout v1.7.3.2 .

Danke dir! das klingt wie es funktioniert. Entschuldigung für Git Unbekanntheit. Nach `git checkout v1.7.3.2` habe ich dann die lokalen Filialen mit` git branch` überprüft und ich sehe die `master` und` * (no branch) `. ich hatte erwartet, `master` und` * 1.7.3.2` zu sehen. Ich gehe für ein paar Wochen von diesem Projekt weg und komme zurück. Wie kann ich feststellen, welche Version sich aktuell in meinem lokalen Repository befindet? Meltemi vor 13 Jahren 0
@Meltemi-Tags unterscheiden sich von Verzweigungen. Zweige sollen parallelen Entwicklungsrichtungen folgen. Git erinnert sich also daran, dass Sie sich in einem bestimmten Zweig befinden, und ermöglicht Ihnen, neue Änderungen an dem Zweig vorzunehmen. Ein Tag ist eine Momentaufnahme einer bestimmten Version zu einem bestimmten Zeitpunkt. Der laufende Zweig "git branch" gibt an, dass Sie sich auf "(no branch)" befinden. Um herauszufinden, welche Version sich aktuell in Ihrem Repository befindet, führen Sie "git checkout master" aus und führen Sie "git" aus. Sie erhalten eine Versionsnummer, die wie ich hier beschrieben bricht. Ken Bloom vor 13 Jahren 1
Ich war nicht mit "Git beschreiben" vertraut. Ich habe es einfach in meinem lokalen Repository ausgeführt und es kam mit `v1.7.3.2` zurück, was ich erwartet hatte. Vielen Dank! Letzte Frage: Ist `* (kein Zweig)` normal? oder will ich es irgendwie benennen? oder sollte ich das einfach erstellen und installieren und dann löschen (kein Zweig)? Es scheint mir komisch zu sein, einen aktiven Zweignamen (keinen Zweig) auf meiner Maschine zu haben ... Ich möchte wirklich keine Entwickler-Builds auf meiner Maschine behalten. Ich möchte nur einen Workflow verstehen, in dem Sie git verwenden, um eine eigene Quelle zu erhalten, und diese dann erstellen / installieren ... Meltemi vor 13 Jahren 0
`(kein Zweig)` ist normal, wenn Sie ein Tag ausgecheckt haben. Das bedeutet, dass Sie sich nicht in einem Zweig befinden und Sie nicht festlegen können. Um eine bessere Vorstellung davon zu erhalten, was los ist, schauen Sie unter [Git-Konzept verstehen] (http://www.eecs.harvard.edu/~cduan/technical/git/) nach. Nachdem Sie über Köpfe gelesen haben, gibt es nur ein Detail: Ein Zweig ist ein Kopf, der sich häufig bewegt, und ein Tag ist ein Kopf, der sich (normalerweise) nicht bewegt. Ken Bloom vor 13 Jahren 0
1
Chris Johnsen

Es ist durchaus sinnvoll, die Spitze von git.gits Master- Stable zu betrachten.

Aus Dokumentation / howto / maintenance-git.txt :

Der Tipp von "Master" soll stabiler sein als alle getaggten Releases, und die Benutzer werden aufgefordert, dem zu folgen.

Bevor ein neues Feature in master eingefügt wird, wird es in der Mailingliste überprüft und (oftmals für mehrere Wochen) in den PUs und den nächsten Filialen "gekocht", die die Entwickler regelmäßig testen und verwenden.

Die Versionsnummern von Git funktionieren so:

 o----- major release: 1.7 / o---- feature release: 1.7.3 / / o--- maintenance release: 1.7.3.2 / / / 1.7.3.2 

Hauptversionen enthalten oft inkompatible Änderungen. Feature Releases führen neue Funktionen ein. Wartungsversionen enthalten Bugfixes.

Master ist fast eine Mischung aus der neuesten Wartungsversion und den aktuellen Funktionen für die nächste Funktionsversion.

Die Ausgabe von git --versionbasiert auf der Ausgabe von git beschreiben auf dem Commit, das zum Erstellen der Binärdatei verwendet wurde (siehe GIT-VERSION-GEN ).

Die Ausgabe von git explain fügt zusätzliche Informationen hinzu, um die spezifische Version besser zu bestimmen, wenn Sie auf einem Commit basieren, das nicht explizit gekennzeichnet ist.

 o------------- most recent reachable tag: 1.7.3.2 / o--- 'g' + abbreviated object name of built commit: 6f10c / / 1.7.3.2.164.g6f10c \ o---------- number of commits in built commit "on top" of tag: 164 
0
heavyd

Ab heute ist 1.7.3.2 die neueste stabile Version, die unter http://git-scm.com/ verfügbar ist. Was bringt Sie in Frage, wenn Sie die neueste Version haben?

Weil er seine Version von git von gits git-Repository erhalten hat, wo sie aktiv am `master`-Zweig arbeiten. Ken Bloom vor 13 Jahren 1
@Ken: git.gits * master * ist kaum "aktive Entwicklung". Änderungen an git.git werden in der Mailingliste überprüft, im Zweig * pu * "gekocht". Wenn sie gesund sind, werden sie zum Zweig * next * weitergeleitet und nach und nach in * master * zusammengeführt. * master * erhält auch alle Bugfixes von * maint *. ["Der Tipp von * master * soll stabiler sein als alle markierten Releases"] (http://git.kernel.org/?p=git/git.git;a=blob;f=Documentation/howto/ maintenance-git.txt; h = d527b307707c676e82a08f18cb9fdd7d3abcb228; hb = HEAD # 68 (). Chris Johnsen vor 13 Jahren 3