732 Stimmen

Was ist der Unterschied zwischen einem Tag und einem Branch in Git? Was sollte ich hier verwenden?

Ich habe einige Schwierigkeiten zu verstehen, wie man tags gegen Zweigstellen において git .

Ich habe gerade die aktuelle Version unseres Codes von cvs a git und jetzt werde ich an einer Teilmenge dieses Codes für eine bestimmte Funktion arbeiten. Ein paar andere Entwickler werden auch daran arbeiten, aber nicht alle Entwickler in unserer Gruppe werden sich für diese Funktion interessieren. Sollte ich einen Zweig oder ein Tag erstellen? In welchen Situationen sollte ich das eine oder das andere verwenden?

19voto

Gazzer Punkte 4270

Ich denke gerne an Zweigstellen als wohin Sie gehen , tags als wo du gewesen bist .

Ein Tag ist wie ein Lesezeichen für einen bestimmten wichtigen Punkt in der Vergangenheit, z. B. eine neue Version.

Ein Zweig hingegen ist ein bestimmter Weg, auf dem das Projekt voranschreitet, und daher schreitet die Zweigmarkierung mit Ihnen voran. Wenn Sie fertig sind, führen Sie den Zweig (d. h. die Markierung) zusammen oder löschen ihn. Zu diesem Zeitpunkt können Sie die Übergabe natürlich auch markieren.

17voto

Vassili Gorshkov Punkte 179

Am besten lässt sich das wohl so erklären, dass Tags als reine Lesezweige fungieren. Sie können einen Zweig als Tag verwenden, aber Sie könnten ihn versehentlich mit neuen Commits aktualisieren. Tags verweisen garantiert auf denselben Commit, solange sie existieren.

16voto

Greg Hewgill Punkte 882617

Tags können entweder sein mit oder ohne Vorzeichen Zweige werden niemals unterzeichnet.

Signierte Tags können nicht verschoben werden, da sie kryptographisch (mit einer Signatur) an einen bestimmten Commit gebunden sind. Unsignierte Tags sind nicht gebunden und können verschoben werden (aber das Verschieben von Tags ist kein normaler Anwendungsfall).

Zweige können nicht nur zu einem anderen Commit wechseln, sondern sind erwartet zu tun. Sie sollten eine Zweigstelle für Ihr lokales Entwicklungsprojekt verwenden. Es macht keinen Sinn, Arbeit "an einem Tag" in ein Git-Repository zu übertragen.

14voto

jsina Punkte 3609

lautet die einfache Antwort:

Zweigstelle: Der Zeiger auf den aktuellen Zweig bewegt sich bei jeder Übergabe an das Repository

sondern

Tag: Der Commit, auf den ein Tag verweist, ändert sich nicht, vielmehr ist das Tag ein Schnappschuss dieses Commits.

11voto

Bombe Punkte 77831

El Git-Parabel erklärt, wie ein typisches DVCS erstellt wird und warum seine Schöpfer so vorgegangen sind, wie sie es getan haben. Vielleicht möchten Sie auch einen Blick auf Git für Informatiker Es wird erklärt, was die einzelnen Objekttypen in Git tun, einschließlich Zweige und Tags.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X