2010-10-25 26 views
7

Mögliche Duplizieren:
What is the difference between a tag and a branch in git?Was ist der Unterschied zwischen Tag und Zweig mit Git?

Was ich möchte, ist tun Checkpoints für verschiedene Versionen von meinem Code zu erstellen. Wenn ich also ein paar Commits mache, möchte ich sagen: "Okay, an diesem Punkt im Code ist das Version 0.1 abgeschlossen". Und dann kann ich noch ein paar Commits machen und es nochmal machen und sagen: "Okay, dieser Punkt ist 0.2 abgeschlossen".

Ich weiß, wie eine Filiale zu machen und einen Tag ... Ich verstehe einfach nicht den Unterschied, und welche werden tun, was ich will;)

Dank

+4

Duplikat von [Was ist der Unterschied zwischen einem Tag und einem Zweig in git?] (Http://stackoverflow.com/questions/1457103/what-is-the-difference-between-a-tag-and-a -branch-in-git) Warum nicht vor der Nachfrage suchen? –

Antwort

5

Ein Tag repräsentiert eine Version eines bestimmten Zweigs zu einem Zeitpunkt. Ein Zweig stellt einen separaten Thread der Entwicklung, die gleichzeitig mit anderen Entwicklung Bemühungen auf der gleichen Code-Basis ausgeführt werden kann.

SOURCE: This duplicate question.

Was Sie wollen, ist wahrscheinlich ein TAG.

+0

Danke, das funktioniert gut. Es ist verwirrend, denn wenn ich nach GitHub gehe, sehe ich viele Zweige mit Versionsnummern ... also wurde ich verwirrt. – egervari

5

Beide Zweige und Tags sind im Wesentlichen Zeiger auf Commits. Der große Unterschied besteht darin, dass der Commit einer Verzweigung auf Änderungen zeigt, wenn Sie neue Commits hinzufügen, und ein Tag wird für eine bestimmte Commit-Operation eingefroren, um einen Zeitpunkt mit einer bestimmten Signifikanz zu markieren. Von einer meiner Lieblings-Git Ressourcen, Pro Git:

Wie die meisten VCS hat Git die Möglichkeit, Tag bestimmte Punkte in der Geschichte als wichtig. Im Allgemeinen verwenden die Benutzer diese Funktionalität, um die Freigabe Punkte (v1.0, usw.) zu markieren. In diesem Abschnitt erfahren Sie, wie Sie die verfügbaren Tags auflisten, wie Sie neue Tags erstellen und was die verschiedenen Typen von Tags sind.

A branch in Git is simply a lightweight movable pointer to one of these commits. 
-2

Stichworte sind ein grundlegender Baustein in GIT; Zweige sind nicht. Git führt Prüfungen durch, um sicherzustellen, dass die Tags konstant bleiben, sich niemals ändern, sobald sie auf einen Commit zeigen. Ein Zweig hingegen ist eine bloße Referenz oder ein Zeiger auf ein Festschreiben, und er kann aktualisiert werden, um auf ein anderes Festschreiben frei zu zeigen.

+2

"Tags sind ein grundlegender Baustein in git; Zweige sind nicht." Es gibt keine Bedeutung von "fundamental", für die diese Aussage richtig ist. Insbesondere ist es unmöglich, nützliche Arbeit in Git ohne Zweige zu tun, aber es gibt viele einfache Git-Projekte, die überhaupt keine Tags haben. –

0

Angenommen, Sie haben - Super Awesome Product v1.0, das in einem Git-Repository stabil und verpflichtend ist.

Sie machen Bug-Fixes und Änderungen in der Branche, die v1.0 ist und man sich mit Sachen Tag wie:

  • dies behebt Workitem 1341 - Fehler ...

  • diese Version Behebt Artikel 234324 - Fehler ...

  • final v1.0

Die oben sind alle Variablen, die den Zustand des Codes (a LABEL) repräsentieren, wenn das gemacht wurde Festschreibung. Also, wenn Sie v1.5 machen und ein Bug für v 1.0 kommt, nehmen Sie das Tag final v1.0 und testen Sie den Fehler darauf.

JETZT! Sie entscheiden, den zugrunde liegenden Datenzugriff von Super-Awesome-Produkt zu ändern. Wie geht's? Sie verzweigen v1.0 und machen einen neuen Zweig namens Super Awesome Produkt NEW DAL Niederlassung.

Tags sind für Schnappschüsse von täglich bis täglich commits. Zweige sind für größere Änderungen im Maßstab.

+1

Der Blick auf zufällige Projekte auf github scheint das Gegenteil zu zeigen - dass Entwickler im täglichen Leben Zweige verwenden und nur Tags verwenden, um auf Releases oder andere spezielle Punkte hinzuweisen. Ich habe keinen besonders ungewöhnlichen Workflow, aber ich erstelle jeden Tag neue Git-Zweige, und doch sind Monate vergangen, seit ich ein neues Tag erstellt habe. –

Verwandte Themen