Git Checkout Letzter Tag
Ich Schreibe ein shell-Skript und ich bin auf der Suche, um eine Arbeitskopie der aktuellen version der repo. Speziell möchte ich Pause in diesem Prozess auseinander in mehrere Schritte.
- Ich wollen speichern Sie die Repositorys aktuellen tag in einer variable
- Drucken Sie
Checking out version: XX
- Kasse der Letzte tag
Ich habe gesehen, ähnliche Fragen aber ich sehe nicht, wie um den Namen des Tags in eine variable (wahrscheinlich, weil ich bin ein noob mit shell-Skripten).
InformationsquelleAutor der Frage BFTrick | 2013-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
git describe --tags
sollten geben Sie info.bash/shell-script:
InformationsquelleAutor der Antwort exussum
InformationsquelleAutor der Antwort Josef Ježek
In einigen repositories die
git describe --tags
gibt keine info und eine einfachegit tag | tail -1
kann dir den falschen tag als git-sortiert Kennungen in einer seltsamen Art und Weise.Für mich der beste Befehl ist eine variation des Schwanzes eine
InformationsquelleAutor der Antwort Albert Casademont
Setzen, um die Informationen in eine variable, die Sie zuweisen:
Allerdings, du willst berechnen Sie den Wert zuweisen, Sie sind nicht nur die Zuweisung einer Konstanten zu den Variablen. In Ihrem Fall, Sie möchten, ordnen Sie die Ausgabe eines Befehls in die variable.
Erste, Sie haben, um herauszufinden, wie man den letzten tag-Namen. Ich werde verlassen, dass bis zu Ihnen, als Sie haben nichts gesagt darüber, wie die tag-Namen sind erstellt.
Dann, nachdem Sie einen Befehl, der gibt den letzten tag-Namen, die Sie zuordnen müssen Sie den Namen in eine variable. Die Bash das auch tut, dass "command substitution".
Beispiel:
thetagname=$( command_to_get_tag_name )
Also, wenn Sie gerade den letzten tag, das git Berichte wie diese:
dann könnte man es einer Variablen zuweisen, wie diese:
und Sie könnte verwenden/finden Sie den Wert wie diese:
oder als user1281385 sagt, wie diese:
Den beiden Methoden sind die gleichen, außer, dass der zweite Weg, können Sie kombinieren, literal-text mit der variable Wert:
wird append "ing", um den Inhalt von $thetagname. Die geschweiften Klammern sind notwendig, um zu verhindern, dass die bash zu denken, dass "thetagnameing" ist die variable.
Der bash man-Seite hat einen Abschnitt namens EXPANSION, in dem er erklärt, die 7 Arten der expansion. Kommando-substitution ist einer von Ihnen. Die bash-Manpage ist Recht groß, und in der Tat wiederholt alle interessanten keywords mehrfach auf, so ist es wirklich ärgerlich, um zu suchen für Sachen, die in es. Hier sind ein paar Tipps, wie man die EXPANSION Abschnitt (und lernen, ein wenig über den pager "less"):
Starten Sie den manual-reader Lesen die bash man-Seite wie diese:
Suche nach dem Begriff 'AUSBAU' am Anfang einer Zeile, wenn du drin bist, den Leser durch Eingabe
/^EXPANSION
in der Anzeige. Sobald Sie geben/
sehen Sie eine /am unteren Rand des Bildschirms, aber die man-Seite ist immer noch da. Das ist der Befehl, um nach einem Muster suchen. Geben Sie^EXPANSION
und Sie werden sehen, dass sich am unteren Rand des Bildschirms als gut. ^ bedeutet "Suche für Dinge, die am Anfang der Zeile" und die ERWEITERUNG "suchen Sie nach der Zeichenkette "EXPANSION". Geben Sie dann<enter>
- und Sie sollten bei der ersten auftreten von der Begriff der EXPANSION, die Auftritt, an den Anfang der Zeile. Hier beschreibt er alle Arten der Erweiterung, dass die bash-shell nicht auf Ihre Linie, nachdem Sie es und vor Ihrer Ausführung der transformierten Befehl.Wenn in den pager, den Sie eingeben können
h
um eine Liste der möglichen Befehle.Ich hoffe das war nicht zu einfach. Wenn Sie es noch nicht gesehen haben, bevor, es ist hart, um herauszufinden.
InformationsquelleAutor der Antwort Brenda J. Butler
"git tag --enthält | tail -1" , (git tag --enthält) listet alle tags in den aktuellen Zweig (tail -1) schränkt die Anzahl der ausgegebenen Ergebnisse zu l,und es ist ein neuesten.
InformationsquelleAutor der Antwort Antutu