Wie checke ich die Versionsversion / das Tag 1.1.4 des rspec-Bundles aus ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Wie checke ich die Versionsversion / das Tag 1.1.4 des rspec-Bundles aus ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Antworten:
Klonen Sie das Repository wie gewohnt:
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
Überprüfen Sie dann das gewünschte Tag wie folgt:
git checkout tags/1.1.4
Dadurch wird das Tag in einem Status "getrennter KOPF" ausgecheckt. In diesem Zustand "können Sie sich umschauen, experimentelle Änderungen vornehmen und diese festschreiben und [diese Festschreibungen verwerfen], ohne Auswirkungen auf Zweige zu haben, indem Sie eine weitere Prüfung durchführen".
Verschieben Sie alle vorgenommenen Änderungen in einen neuen Zweig:
git checkout -b 1.1.4-jspooner
Sie können zum Hauptzweig zurückkehren, indem Sie Folgendes verwenden:
git checkout master
Beachten Sie, wie in der ersten Überarbeitung dieser Antwort erwähnt, dass es eine andere Möglichkeit gibt, ein Tag auszuchecken:
git checkout 1.1.4
Wie in einem Kommentar erwähnt, führt dies dazu, dass git Sie warnt, dass der Referenzname nicht eindeutig ist, und dass der Zweig standardmäßig ausgecheckt wird, wenn Sie einen Zweig mit demselben Namen haben:
warning: refname 'test' is ambiguous.
Switched to branch '1.1.4'
Die Kurzform kann sicher verwendet werden, wenn das Repository keine Namen zwischen Zweigen und Tags teilt.
git tag
.
Ab Git v2.23.0 (August 2019) wird git switch
es bevorzugt, git checkout
wenn Sie einfach Zweige / Tags wechseln. Ich vermute, sie haben dies getan, da git checkout
sie zwei Funktionen hatten: zum Wechseln von Zweigen und zum Wiederherstellen von Dateien. In Version 2.23.0 haben sie zwei neue Befehle hinzugefügt git switch
, und git restore
, um diese Bedenken zu trennen. Ich würde irgendwann in der Zukunft vorhersagen, git checkout
wird veraltet sein.
Verwenden Sie, um zu einem normalen Zweig zu wechseln git switch <branch-name>
. Zur Umstellung auf eine Commit-ähnliches Objekt, einschließlich einzelnen Commits und Tags, Verwendung git switch --detach <commitish>
, wo <commitish>
ist der Tag - Name oder begehen Nummer.
Die --detach
Option zwingt Sie zu erkennen, dass Sie sich in einem Modus von „Inspektion und wegwerfbaren Experimenten“ befinden . Verwenden Sie, um aus dem Commitish, zu dem Sie wechseln, einen neuen Zweig zu erstellen git switch -c <new-branch> <start-point>
.
1.1.4
. Git checkt den Zweig aus, nicht das Tag. Um das Tag explizitgit checkout tags/1.1.4