Gilt das git-Tag für alle Branchen?
Ich bekomme meine Füße mit Git-Tagging nass, aber mein vorheriger Hintergrund ist Subversion, wo "Tags" wirklich nur Kopien waren, keine "echten" Tags ...
Wenn ich einem Git-Repo ein Tag hinzufüge, wird es auf alle Zweige angewendet oder nur auf den aktuellen?
Zum Beispiel, wenn ich momentan diese Filialen habe (git branch -v
):
* master deadbeef My master head comment
dev baddfeed My def head comment
Und der aktuell ausgecheckte Zweig ist Master, wie Sie sehen können. Nun nehme ich angit tag -a TAGNAME
tutTAGNAME
gelten nur fürdeadbeef
(master branch) oder nachbaddfeed
(dev branch) auch?
Angenommen, ich wechsle anschließend zum dev-Zweig (d. h. nicht zum Zweig, in dem das Tag erstellt wurde), bevor das Tag ausgecheckt wird:
git checkout dev
git checkout TAGNAME
Muss ich dann mit einem Checkout von endenbaddfeed
Oder wechselt die Tag-Prüfung (zweite Zeile) zurück zum Master-Zweig (wo das Tag erstellt wurde) und gibt mir eine Prüfung vondeadbeef
? (Oder ist mein Verständnis für das Erstellen und Wiederherstellen von Tags zu fehlerhaft oder zu einfach, als dass die Antwort so einfach wie eine dieser beiden Optionen wäre?)
Ändert sich die Antwort auf meine Frage auch, wenn ich einen Lightweight-Tag verwende? (git tag TAGNAME
) anstelle eines mit Anmerkungen versehenen Tags?