Antworten:
Themenzweige sind in der Regel einfache Zweige, die Sie lokal erstellen und deren Name für Sie von Bedeutung ist . In diesen Fällen können Sie möglicherweise an einer Fehlerbehebung oder einem Feature (sie werden auch als Feature-Zweige bezeichnet) arbeiten, deren Fertigstellung voraussichtlich einige Zeit in Anspruch nehmen wird.
Ein anderer Zweigtyp ist der "Remote-Zweig" oder "Remote-Tracking-Zweig". Diese Art von Zweig folgt der Entwicklung der Arbeit eines anderen und wird in Ihrem eigenen Repository gespeichert. Sie aktualisieren diesen Zweig regelmäßig (mit git fetch
), um zu verfolgen, was an anderer Stelle passiert. Wenn Sie bereit sind, die Änderungen aller anderen nachzuholen, können Sie sie git pull
sowohl abrufen als auch zusammenführen.
Ich habe auch eine andere Art von Zweig gesehen, der im Wesentlichen ein völlig separater Baum von Dateien im selben Repository ist. Zum Beispiel kann die Git - Repository selbst enthält Köpfe namens Menschen und html , die ganz andere Inhalte aus dem enthalten Master - Zweig. Ich weiß nicht, wie diese Arten von Zweigen normalerweise genannt werden.
Es ist kein Fachbegriff; Es bezieht sich nur auf einen Zweig, der erstellt wurde, um eine bestimmte Funktion zu implementieren oder einen Fehler zu beheben. Das "Thema" ist im Wesentlichen der Grund für die Schaffung der Niederlassung.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches erklärt dies gut:
Ein "Thema" -Zweig ist ein separater Zweig, den Sie verwenden, wenn Sie an einem einzelnen "Thema" arbeiten (eine Fehlerbehebung, eine neue Funktion oder eine experimentelle Idee). Es wird empfohlen, an einem Themenzweig anstatt direkt über „Master“ zu arbeiten, weil:
{... Link besuchen ...}
Aus all diesen Gründen wird empfohlen, einen Themenzweig zum Vorbereiten von Einsendungen zu verwenden, selbst für einfache Beiträge wie Single-Commit-Bugfixes und dergleichen.
Dieses Beispiel enthält auch Beispiele. Was mich tatsächlich zum Nachdenken brachte, ist wahrscheinlich das, was die meisten Geschäfte bereits tun. Alle agilen Projekte, mit denen ich je zusammengearbeitet habe. Ich habe das "Es ist kein Fachbegriff" positiv bewertet, weil ich das Gefühl habe, dass dies den Nagel auf den Kopf trifft.
Es sieht so aus, als ob die bekannteste und wichtigste Art von Zweigen, die keine Themenzweige sind, die Veröffentlichung von Zweigen in einem großen, öffentlich verfügbaren Repository wäre, oder?
Das ist wahrscheinlich richtig für Sie, aber es geht um Sie und das Projekt, über das Sie nachdenken. es wird nicht von Git bestimmt.
Die meisten Versionskontrollsysteme (insbesondere zentralisierte) schreiben einen bestimmten Workflow vor oder erzwingen ihn, einschließlich dessen, wofür die Verwendung eines Zweigs sinnvoll ist. Git (und zu einem gewissen Grad die meisten verteilten VCSs) sind der Ansicht, dass der Workflow, für welche Zweige verwendet wird, wann festgeschrieben werden muss, für welche unterschiedlichen Repos verwendet wird usw. von den Benutzern und Vereinbarungen zwischen den Benutzern (Richtlinien) ausgewählt wird. Git setzt diese also technisch nicht durch.
Dies ist eines der Dinge, die es mir schwer gemacht haben, Git zu lernen. Oliver Steele erklärte dies aus Sicht des Benutzers und schrieb über Commit-Richtlinien .