Versionskontrolle: Zweige nach dem Zusammenführen löschen?

8

Wenn Sie etwas Code verzweigen, beenden Sie die Arbeit mit der Verzweigung und führen Sie sie zurück zur Stammverbindung. Was machen Sie mit der Verzweigung? Löschen Sie es aus dem Repository? Halten Sie es als Referenz?

Es scheint, als ob Sie es als Referenz behalten würden, aber ich kann mir vorstellen, dass das /branches -Verzeichnis ziemlich unübersichtlich wird.

(Wenn dies nicht etwas ist, dem die Leute allgemein zustimmen, komm bitte dazu und ich werde es zu einem Community-Wiki machen.)

Erläuterung

jleedev hat Recht - wir sollten angeben, über welches Versionskontrollsystem wir sprechen.

Ich hatte Subversion im Kopf , würde aber gerne auch Antworten auf andere Systeme hören. Bitte geben Sie an, über welche Sie antworten, oder, & lt; Bestechung & gt ;, wenn Sie die akzeptierte Antwort & lt; / Bestechung & gt; erhalten möchten, vergleichen und kontrastieren Sie mehrere Systeme.

    
Nathan Long 24.03.2010, 19:38
quelle

7 Antworten

4

Ich entferne reintegrierte Zweige, da ich sie nicht mehr brauche. Git und Mercurial behalten die Verzweigungs- / Verschmelzungsgeschichte trotzdem bei. In Subversion würde ich alte Zweige behalten, um einen Bezug zum Commit-Verlauf zu haben.

    
Yaroslav 24.03.2010, 19:44
quelle
8

Beantworte viel später meine eigene Frage

Nun, da ich Git verwende, ja, lösche ich Zweige, wenn ich damit fertig bin. Dies liegt daran, dass in Git eine Verzweigung nichts anderes als eine Beschriftung ist, die auf ein bestimmtes Commit zeigt.

Als ich das zuerst hörte, habe ich es nicht ganz verstanden, aber es ist buchstäblich wahr. Wenn Sie in ein Projekt gehen, das Sie unter Git Versionskontrolle haben und .git/refs/heads öffnen, sehen Sie eine Datei für jeden Zweig, den Sie haben, einschließlich Master. Jede Datei enthält den Hash eines Commits. Das war's.

Offensichtlich ist das Erstellen einer solchen Datei sehr billig, weshalb die Verzweigung in Git billig ist. Das wiederum ist der Grund, warum ich mich oft verzweigen kann, und es wäre albern, wenn sich überall Zweige wie add_bells_to_the_widget auftürmen.

Sobald ein Zweig mit dem Master verbunden ist, sind seine Commits Teil des Verlaufs des Master-Zweiges. Der einzige Zweck, den Zweig zu behalten, wäre, zu wissen, welches Commit ich für das letzte in einem Zweig hielt. Und das ist für mich nicht sehr relevant, wenn der Code in Produktion ist.

    
Nathan Long 18.07.2011 20:00
quelle
2

Ich bevorzuge es immer, die Zweige zu behalten. Ja, ich kann sie als Referenz verwenden oder einfach jederzeit eine bestimmte Version abrufen.

    
thelost 24.03.2010 19:41
quelle
1

SVN-Benutzer im Allgemeinen tag Zweige, um das Verzeichnis der Zweige sauber zu halten, nein?

    
Jeremy 24.03.2010 19:43
quelle
0

In jedem Projekt, an dem ich arbeite, löschen wir die Dev-Zweige, sobald wir damit fertig sind. Wir verzweigen den Code jedoch, wenn wir ihn freigeben und für eine Weile festhalten.

    
Rob 24.03.2010 19:42
quelle
0

Ich habe nie Zweige gelöscht, aber es ist eine Frage des persönlichen Geschmacks. Sie löschen die Revisionen nicht wirklich aus dem Repository, wenn Sie die Verzweigung löschen.

    
Anon 24.03.2010 19:43
quelle
0

Wenn es eine Chance gibt, dass die Zweigstelle ein Eigenleben hat, behalten Sie sie offensichtlich. Wenn nicht, würde ich es wahrscheinlich behalten, aber Schreibzugriff entziehen. Festplatten sind billig.

    
dicroce 24.03.2010 19:43
quelle

Tags und Links