it-swarm.com.de

Was tun mit Branch nach Merge?

Ich hatte zwei Zweige: master und branch1. Ich habe gerade branch1 zurück in master und ich bin mit diesem Zweig fertig. Soll ich es löschen oder einfach stehen lassen? Führt das Löschen zu Datenverlust?

288
Alison

Nach dem Zusammenführen können Sie den Zweig sicher löschen:

git branch -d branch1

Außerdem warnt git Sie (und weigert sich, den Zweig zu löschen), wenn es denkt, dass Sie ihn noch nicht vollständig zusammengeführt haben. Wenn Sie einen Zweig mit Gewalt löschen (mit git branch -D), der noch nicht vollständig zusammengeführt wurde, müssen Sie einige Tricks ausführen, um die nicht zusammengeführten Commits zurückzugewinnen (siehe unten).

Es gibt jedoch einige Gründe, eine Niederlassung zu unterhalten. Wenn es sich beispielsweise um einen Feature-Zweig handelt, möchten Sie möglicherweise Bugfixes für dieses Feature ausführen, das sich noch in diesem Zweig befindet.

Wenn Sie auch den Zweig auf einem Remote-Host löschen möchten, haben Sie folgende Möglichkeiten:

git Push Origin :branch1

Dadurch wird der Zweig auf der Fernbedienung zwangsweise gelöscht (dies wirkt sich jedoch nicht auf bereits ausgecheckte Repositorys aus und hindert niemanden mit Push-Zugriff daran, ihn erneut zu pushen/zu erstellen).


git reflog zeigt die zuletzt ausgecheckten Revisionen. Jeder Zweig, den Sie in der letzten Archivhistorie ausgecheckt haben, wird auch dort angezeigt. Davon abgesehen, git fsck wird das Werkzeug der Wahl in jedem Fall von Commit-Loss in Git sein.

360
Jonas Schäfer

Alle meine Filialen sind in Form von Fix/fix-<somedescription> oder Ftr/ftr-<somedescription> etc. Unter Verwendung von Tower als mein Git-Frontend organisiert es ordentlich alle Ftr/, Fix/, Test/ usw. in Ordner. Sobald ich mit einem Zweig fertig bin, benenne ich sie um in Done/...-<description> Auf diese Weise sind sie immer noch da (was nützlich sein kann, um Geschichte zu liefern) und ich kann immer zurückgehen, um zu wissen, was es war (Funktion, Fehlerbehebung, Test usw.)

22
Yohst