Git warnt Sie, dass Sie möglicherweise den Verlauf verlieren, wenn Sie diesen Zweig löschen. Auch wenn keine Commits sofort gelöscht werden, sind einige oder alle Commits in der Verzweigung nicht mehr erreichbar, wenn sie nicht auch Teil einer anderen Verzweigung sind.
Damit der Zweig experiment
vollständig mit einem anderen Zweig zusammengeführt werden kann, muss sein Tip-Commit ein Vorfahr des Tip des anderen Zweigs sein, sodass die Commits in experiment
einer Teilmenge des anderen Zweigs ausgeführt werden. Dies macht das Löschen sicher experiment
, da alle Commits über den anderen Zweig Teil des Repository-Verlaufs bleiben. Es muss "vollständig" zusammengeführt werden, da es möglicherweise bereits mehrmals zusammengeführt wurde, aber jetzt seit der letzten Zusammenführung Commits hinzugefügt wurden, die nicht in der anderen Verzweigung enthalten sind.
Git überprüft jedoch nicht jeden anderen Zweig im Repository. nur zwei:
- Der aktuelle Zweig (HEAD)
- Der vorgelagerte Zweig, falls vorhanden
Die "Upstream-Niederlassung" für experiment
, wie in Ihrem Fall, ist wahrscheinlich origin/experiment
. Wenn experiment
der aktuelle Zweig vollständig zusammengeführt ist, löscht Git ihn ohne Beanstandung. Wenn dies nicht der Fall ist, es jedoch vollständig in seinem Upstream-Zweig zusammengeführt ist, fährt Git mit einer Warnung fort, die wie folgt aussieht:
warning: deleting branch 'experiment' that has been merged
to 'refs/remotes/origin/experiment', but not yet merged to
HEAD.
Deleted branch experiment (was xxxxxxxx).
Wobei xxxxxxxx
eine Commit-ID angibt. Eine vollständige Zusammenführung im Upstream zeigt an, dass die Commits in experiment
das Ursprungs-Repository verschoben wurden, sodass sie, selbst wenn Sie sie hier verlieren, zumindest an anderer Stelle gespeichert werden können.
Da Git andere Zweige nicht überprüft, kann es sicher sein, einen Zweig zu löschen, da Sie wissen, dass er vollständig mit einem anderen zusammengeführt ist. Sie können dies mit der angegebenen -D
Option tun oder zuerst zu diesem Zweig wechseln und Git den vollständig zusammengeführten Status für Sie bestätigen lassen.