English ▾ Themen ▾ Neueste Version ▾ git-branch zuletzt aktualisiert in 2.51.0

NAME

git-branch - Branches auflisten, erstellen oder löschen

SYNOPSIS

git branch [--color[=<when>] | --no-color] [--show-current]
	   [-v [--abbrev=<n> | --no-abbrev]]
	   [--column[=<options>] | --no-column] [--sort=<key>]
	   [--merged [<commit>]] [--no-merged [<commit>]]
	   [--contains [<commit>]] [--no-contains [<commit>]]
	   [--points-at <object>] [--format=<format>]
	   [(-r|--remotes) | (-a|--all)]
	   [--list] [<pattern>…​]
git branch [--track[=(direct|inherit)] | --no-track] [-f]
	   [--recurse-submodules] <branch-name> [<start-point>]
git branch (--set-upstream-to=<upstream>|-u <upstream>) [<branch-name>]
git branch --unset-upstream [<branch-name>]
git branch (-m|-M) [<old-branch>] <new-branch>
git branch (-c|-C) [<old-branch>] <new-branch>
git branch (-d|-D) [-r] <branch-name>…​
git branch --edit-description [<branch-name>]

BESCHREIBUNG

Wenn --list angegeben wird oder keine Nicht-Optionsargumente vorhanden sind, werden vorhandene Branches aufgelistet; der aktuelle Branch wird grün hervorgehoben und mit einem Sternchen markiert. Alle Branches, die in verknüpften Arbeitsbäumen ausgecheckt sind, werden in Cyan hervorgehoben und mit einem Pluszeichen markiert. Die Option -r bewirkt, dass die Remote-Tracking-Branches aufgelistet werden, und die Option -a zeigt sowohl lokale als auch Remote-Branches an.

Wenn ein <Muster> angegeben wird, wird es als Shell-Wildcard verwendet, um die Ausgabe auf passende Branches zu beschränken. Wenn mehrere Muster angegeben werden, wird ein Branch angezeigt, wenn er einem der Muster entspricht.

Beachten Sie, dass Sie bei der Angabe eines <Musters> --list verwenden müssen; andernfalls kann der Befehl als Branch-Erstellung interpretiert werden.

Mit --contains werden nur die Branches angezeigt, die den genannten Commit enthalten (d. h. die Branches, deren Tip-Commits Nachkommen des genannten Commits sind), --no-contains kehrt dies um. Mit --merged werden nur Branches aufgelistet, die in den genannten Commit gemergt wurden (d. h. die Branches, deren Tip-Commits vom genannten Commit erreichbar sind). Mit --no-merged werden nur Branches aufgelistet, die nicht in den genannten Commit gemergt wurden. Wenn das <Commit>-Argument fehlt, wird standardmäßig HEAD verwendet (d. h. der Tip des aktuellen Branches).

Die zweite Form des Befehls erstellt einen neuen Branch-Head namens <Branch-Name>, der auf den aktuellen HEAD zeigt, oder auf <Startpunkt>, wenn dieser angegeben ist. Als Sonderfall für <Startpunkt> können Sie <Rev-A>...<Rev-B> als Abkürzung für die Merge-Basis von <Rev-A> und <Rev-B> verwenden, wenn es genau eine Merge-Basis gibt. Sie können höchstens einen der <Rev-A> und <Rev-B> weglassen, in diesem Fall wird standardmäßig HEAD verwendet.

Beachten Sie, dass dies den neuen Branch erstellt, aber den Arbeitsbaum nicht dorthin wechselt; verwenden Sie git switch <Neuer-Branch>, um zum neuen Branch zu wechseln.

Wenn ein lokaler Branch von einem Remote-Tracking-Branch aus gestartet wird, konfiguriert Git den Branch (insbesondere die Konfigurationseinträge branch.<Name>.remote und branch.<Name>.merge) so, dass git pull entsprechend vom Remote-Tracking-Branch mergt. Dieses Verhalten kann über das globale Konfigurationsflag branch.autoSetupMerge geändert werden. Diese Einstellung kann durch die Optionen --track und --no-track überschrieben und später mit git branch --set-upstream-to geändert werden.

Mit der Option -m oder -M wird <alter-Branch> in <neuer-Branch> umbenannt. Wenn <alter-Branch> einen entsprechenden Reflog hatte, wird er umbenannt, um <neuer-Branch> zu entsprechen, und ein Reflog-Eintrag wird erstellt, um die Branch-Umbenennung zu merken. Wenn <neuer-Branch> existiert, muss -M verwendet werden, um die Umbenennung zu erzwingen.

Die Optionen -c und -C haben die exakt gleichen Semantiken wie -m und -M, außer dass der Branch anstatt umbenannt zu werden, unter neuem Namen kopiert wird, zusammen mit seiner Konfiguration und seinem Reflog.

Mit der Option -d oder -D wird <Branch-Name> gelöscht. Sie können mehr als einen Branch zur Löschung angeben. Wenn der Branch aktuell einen Reflog hat, wird auch der Reflog gelöscht.

Verwenden Sie -r zusammen mit -d, um Remote-Tracking-Branches zu löschen. Beachten Sie, dass es nur sinnvoll ist, Remote-Tracking-Branches zu löschen, wenn sie im Remote-Repository nicht mehr existieren oder wenn git fetch so konfiguriert wurde, dass sie nicht wieder abgerufen werden. Siehe auch den Unterbefehl prune von git-remote[1] für eine Möglichkeit, alle veralteten Remote-Tracking-Branches zu bereinigen.

OPTIONEN

-d
--delete

Löscht einen Branch. Der Branch muss vollständig in seinen Upstream-Branch oder in HEAD gemergt sein, wenn kein Upstream mit --track oder --set-upstream-to gesetzt wurde.

-D

Abkürzung für --delete --force.

--create-reflog

Erstellt den Reflog des Branches. Dies aktiviert die Aufzeichnung aller Änderungen am Branch-Ref, was die Verwendung von Datums-basierten SHA1-Ausdrücken wie <Branch-Name>@{gestern} ermöglicht. Beachten Sie, dass in Nicht-Bare-Repositorys Reflogs normalerweise standardmäßig durch die Konfigurationsoption core.logAllRefUpdates aktiviert sind. Die negierte Form --no-create-reflog überschreibt nur ein früheres --create-reflog, negiert aber derzeit nicht die Einstellung von core.logAllRefUpdates.

-f
--force

Setzt <Branch-Name> auf <Startpunkt> zurück, auch wenn <Branch-Name> bereits existiert. Ohne -f lehnt git branch die Änderung eines bestehenden Branches ab. In Kombination mit -d (oder --delete) erlaubt das Löschen des Branches unabhängig von seinem Merge-Status oder ob er überhaupt auf einen gültigen Commit zeigt. In Kombination mit -m (oder --move) erlaubt das Umbenennen des Branches, auch wenn der neue Branch-Name bereits existiert, dasselbe gilt für -c (oder --copy).

Beachten Sie, dass git branch -f <Branch-Name> [<Startpunkt>] auch mit -f die Änderung eines bestehenden Branches <Branch-Name> ablehnt, der in einem anderen Arbeitsbaum, der mit demselben Repository verknüpft ist, ausgecheckt ist.

-m
--move

Verschiebt/benennt einen Branch um, zusammen mit seiner Konfiguration und seinem Reflog.

-M

Abkürzung für --move --force.

-c
--copy

Kopiert einen Branch, zusammen mit seiner Konfiguration und seinem Reflog.

-C

Abkürzung für --copy --force.

--color[=<wann>]

Färbt Branches, um aktuelle, lokale und Remote-Tracking-Branches hervorzuheben. Der Wert muss immer (Standard), nie oder auto sein.

--no-color

Schaltet die Branch-Farben aus, auch wenn die Konfigurationsdatei die Standardausgabe farbig vorgibt. Entspricht --color=never.

-i
--ignore-case

Sortierung und Filterung von Branches sind nicht case-sensitiv.

--omit-empty

Druckt keine neue Zeile nach formatierten Refs, bei denen das Format zu einer leeren Zeichenkette expandiert.

--column[=<Optionen>]
--no-column

Zeigt die Branch-Liste in Spalten an. Siehe die Konfigurationsvariable column.branch für die Syntax der Optionen. --column und --no-column ohne Optionen sind äquivalent zu always bzw. never.

Diese Option ist nur im Nicht-Verbose-Modus anwendbar.

--sort=<Schlüssel>

Sortiert basierend auf <Schlüssel>. Präfix -, um absteigend nach dem Wert zu sortieren. Sie können die Option --sort=<Schlüssel> mehrmals verwenden, wobei der letzte Schlüssel zum primären Schlüssel wird. Die unterstützten Schlüssel sind die gleichen wie bei git-for-each-ref[1]. Die Sortierreihenfolge ist standardmäßig der Wert, der für die Variable branch.sort konfiguriert ist, falls vorhanden, oder die Sortierung basierend auf dem vollständigen Refnamen (einschließlich des Präfixes refs/...). Dies listet zuerst detached HEAD (falls vorhanden), dann lokale Branches und schließlich Remote-Tracking-Branches auf. Siehe git-config[1].

-r
--remotes

Listet auf oder löscht (wenn mit -d verwendet) die Remote-Tracking-Branches. Kombinieren Sie mit --list, um den optionalen Mustern zu entsprechen.

-a
--all

Listet sowohl Remote-Tracking-Branches als auch lokale Branches auf. Kombinieren Sie mit --list, um optionalen Mustern zu entsprechen.

-l
--list

Listet Branches auf. Mit optionalen <Muster>..., z.B. git branch --list maint-*', werden nur die Branches aufgelistet, die den Mustern entsprechen.

--show-current

Gibt den Namen des aktuellen Branches aus. Im Zustand detached HEAD wird nichts ausgegeben.

-v
-vv
--verbose

Im List-Modus werden SHA1 und die Betreffzeile des Commits für jeden Head angezeigt, zusammen mit der Beziehung zum Upstream-Branch (falls vorhanden). Wenn zweimal angegeben, wird auch der Pfad des verknüpften Arbeitsbaums (falls vorhanden) und der Name des Upstream-Branches ausgegeben (siehe auch git remote show <Remote>). Beachten Sie, dass für den HEAD des aktuellen Arbeitsbaums kein Pfad ausgegeben wird (es ist immer Ihr aktuelles Verzeichnis).

-q
--quiet

Seien Sie beim Erstellen oder Löschen eines Branches leiser und unterdrücken Sie Nicht-Fehlermeldungen.

--abbrev=<n>

In der ausführlichen Liste, die den Commit-Objektnamen anzeigt, wird der kürzeste Präfix angezeigt, der mindestens <n> Hexadezimalziffern lang ist und das Objekt eindeutig referenziert. Der Standardwert ist 7 und kann durch die Konfigurationsoption core.abbrev überschrieben werden.

--no-abbrev

Zeigt die vollständigen SHA1s in der Ausgabeliste an, anstatt sie abzukürzen.

-t
--track[=(direct|inherit)]

Beim Erstellen eines neuen Branches werden die Konfigurationseinträge branch.<Name>.remote und branch.<Name>.merge gesetzt, um eine "Upstream"-Tracking-Konfiguration für den neuen Branch einzurichten. Diese Konfiguration weist Git an, die Beziehung zwischen den beiden Branches in git status und git branch -v anzuzeigen. Außerdem weist sie git pull ohne Argumente an, vom Upstream zu pullen, wenn der neue Branch ausgecheckt wird.

Der genaue Upstream-Branch wird je nach optionalem Argument gewählt: -t, --track oder --track=direct bedeutet, den Startpunkt-Branch selbst als Upstream zu verwenden; --track=inherit bedeutet, die Upstream-Konfiguration des Startpunkt-Branches zu kopieren.

Die Konfigurationsvariable branch.autoSetupMerge gibt an, wie sich git switch, git checkout und git branch verhalten sollen, wenn weder --track noch --no-track angegeben sind.

Die Standardoption true verhält sich so, als ob --track=direct angegeben worden wäre, wenn der Startpunkt ein Remote-Tracking-Branch ist. false verhält sich so, als ob --no-track angegeben worden wäre. always verhält sich so, als ob --track=direct angegeben worden wäre. inherit verhält sich so, als ob --track=inherit angegeben worden wäre. simple verhält sich so, als ob --track=direct angegeben worden wäre, nur wenn der <Startpunkt> ein Remote-Tracking-Branch ist und der neue Branch denselben Namen wie der Remote-Branch hat.

Weitere Erläuterungen zur Verwendung der Optionen branch.<Name>.remote und branch.<Name>.merge finden Sie unter git-pull[1] und git-config[1].

--no-track

Richtet keine "Upstream"-Konfiguration ein, auch wenn die Konfigurationsvariable branch.autoSetupMerge gesetzt ist.

--recurse-submodules

DIESE OPTION IST EXPERIMENTELL! Veranlasst den aktuellen Befehl, in Submodule zu rekursieren, wenn submodule.propagateBranches aktiviert ist. Siehe submodule.propagateBranches in git-config[1]. Derzeit wird nur die Erstellung von Branches unterstützt.

Bei der Erstellung eines Branches wird ein neuer Branch <Branch-Name> im Superprojekt und in allen Submodulen des <Startpunkt> des Superprojekts erstellt. In Submodulen zeigt der Branch auf den Submodul-Commit im <Startpunkt> des Superprojekts, aber die Tracking-Informationen des Branches werden basierend auf den Branches und Remotes des Submoduls eingerichtet, z. B. git branch --recurse-submodules topic origin/main erstellt den Submodul-Branch "topic", der auf den Submodul-Commit im "origin/main" des Superprojekts zeigt, aber das "origin/main" des Submoduls verfolgt.

--set-upstream

Da diese Option eine verwirrende Syntax hatte, wird sie nicht mehr unterstützt. Bitte verwenden Sie stattdessen --track oder --set-upstream-to.

-u <Upstream>
--set-upstream-to=<Upstream>

Konfiguriert die Tracking-Informationen von <Branch-Name> so, dass <Upstream> als Upstream-Branch von <Branch-Name> betrachtet wird. Wenn kein <Branch-Name> angegeben ist, wird standardmäßig der aktuelle Branch verwendet.

--unset-upstream

Entfernt die Upstream-Informationen für <Branch-Name>. Wenn kein Branch angegeben ist, wird standardmäßig der aktuelle Branch verwendet.

--edit-description

Öffnet einen Editor und bearbeitet den Text zur Erklärung, wozu der Branch dient, der von verschiedenen anderen Befehlen (z. B. format-patch, request-pull und merge (falls aktiviert)) verwendet wird. Mehrzeilige Erklärungen sind möglich.

--contains [<Commit>]

Listet nur Branches auf, die <Commit> enthalten (HEAD, wenn nicht angegeben). Impliziert --list.

--no-contains [<Commit>]

Listet nur Branches auf, die <Commit> nicht enthalten (HEAD, wenn nicht angegeben). Impliziert --list.

--merged [<Commit>]

Listet nur Branches auf, deren Spitzen von <Commit> (HEAD, wenn nicht angegeben) erreichbar sind. Impliziert --list.

--no-merged [<Commit>]

Listet nur Branches auf, deren Spitzen nicht von <Commit> (HEAD, wenn nicht angegeben) erreichbar sind. Impliziert --list.

--points-at <Objekt>

Listet nur Branches auf, die auf <Objekt> zeigen.

--format <Format>

Eine Zeichenkette, die %(Feldname) aus einem angezeigten Branch-Ref und dem von ihm referenzierten Objekt interpoliert. <Format> ist dasselbe wie bei git-for-each-ref[1].

<Branch-Name>

Der Name des zu erstellenden oder zu löschenden Branches. Der neue Branch-Name muss alle Prüfungen von git-check-ref-format[1] bestehen. Einige dieser Prüfungen können die in einem Branch-Namen erlaubten Zeichen einschränken.

<Startpunkt>

Der neue Branch-Head wird auf diesen Commit zeigen. Er kann als Branch-Name, Commit-ID oder Tag angegeben werden. Wenn diese Option weggelassen wird, wird stattdessen der aktuelle HEAD verwendet.

<alter-Branch>

Der Name eines bestehenden Branches. Wenn diese Option weggelassen wird, wird stattdessen der Name des aktuellen Branches verwendet.

<neuer-Branch>

Der neue Name eines bestehenden Branches. Dieselben Einschränkungen wie für <Branch-Name> gelten.

KONFIGURATION

pager.branch wird nur beim Auflisten von Branches berücksichtigt, d. h. wenn --list verwendet wird oder impliziert ist. Standardmäßig wird ein Pager verwendet. Siehe git-config[1].

Alles oberhalb dieser Zeile in diesem Abschnitt ist nicht in der Dokumentation von git-config[1] enthalten. Der nachfolgende Inhalt ist derselbe wie dort zu finden.

branch.autoSetupMerge

Weist git branch, git switch und git checkout an, neue Branches so einzurichten, dass git-pull[1] entsprechend vom Startpunkt-Branch mergt. Beachten Sie, dass dieses Verhalten auch dann pro Branch über die Optionen --track und --no-track gewählt werden kann, wenn diese Option nicht gesetzt ist. Diese Option ist standardmäßig auf true gesetzt. Die gültigen Einstellungen sind:

false

es wird keine automatische Einrichtung durchgeführt

true

die automatische Einrichtung erfolgt, wenn der Startpunkt ein Remote-Tracking-Branch ist

always

die automatische Einrichtung erfolgt, wenn der Startpunkt entweder ein lokaler Branch oder ein Remote-Tracking-Branch ist

inherit

wenn der Startpunkt eine Tracking-Konfiguration hat, wird diese auf den neuen Branch kopiert

simple

die automatische Einrichtung erfolgt nur, wenn der Startpunkt ein Remote-Tracking-Branch ist und der neue Branch denselben Namen wie der Remote-Branch hat.

branch.autoSetupRebase

Wenn ein neuer Branch mit git branch, git switch oder git checkout erstellt wird, der einen anderen Branch verfolgt, weist diese Variable Git an, Pull so einzurichten, dass stattdessen rebased wird (siehe branch.<Name>.rebase). Die gültigen Einstellungen sind:

never

rebase wird niemals automatisch auf true gesetzt.

local

rebase wird für getrackte Branches anderer lokaler Branches auf true gesetzt.

remote

rebase wird für getrackte Branches von Remote-Tracking-Branches auf true gesetzt.

always

rebase wird für alle getrackten Branches auf true gesetzt.

Siehe branch.autoSetupMerge für Details, wie ein Branch zum Verfolgen eines anderen Branches eingerichtet wird. Diese Option ist standardmäßig auf never gesetzt.

branch.sort

Diese Variable steuert die Sortierreihenfolge von Branches, wenn sie von git-branch[1] angezeigt werden. Ohne die Option --sort=<Wert> wird der Wert dieser Variablen als Standard verwendet. Siehe die Feldnamen in git-for-each-ref[1] für gültige Werte.

branch.<Name>.remote

Wenn Sie sich auf Branch <Name> befinden, gibt dies git fetch und git push an, von welchem Remote abgerufen oder wohin gepusht werden soll. Das Remote zum Pushen kann mit remote.pushDefault (für alle Branches) überschrieben werden. Das Remote zum Pushen für den aktuellen Branch kann weiter durch branch.<Name>.pushRemote überschrieben werden. Wenn kein Remote konfiguriert ist, oder wenn Sie sich auf keinem Branch befinden und mehr als ein Remote im Repository definiert ist, wird standardmäßig origin zum Abrufen und remote.pushDefault zum Pushen verwendet. Zusätzlich ist . (ein Punkt) das aktuelle lokale Repository (ein Dot-Repository), siehe abschließender Hinweis zu branch.<Name>.merge.

branch.<Name>.pushRemote

Wenn Sie sich auf Branch <Name> befinden, überschreibt dies branch.<Name>.remote für das Pushen. Es überschreibt auch remote.pushDefault für das Pushen von Branch <Name>. Wenn Sie von einem Ort abrufen (z. B. Ihrem Upstream) und zu einem anderen Ort pushen (z. B. Ihrem eigenen Publishing-Repository), möchten Sie remote.pushDefault festlegen, um das Remote für das Pushen aller Branches anzugeben, und diese Option verwenden, um es für einen bestimmten Branch zu überschreiben.

branch.<Name>.merge

Definiert zusammen mit branch.<Name>.remote den Upstream-Branch für den gegebenen Branch. Es sagt git fetch/git pull/git rebase, welcher Branch gemergt werden soll, und kann auch git push beeinflussen (siehe push.default). Wenn im Branch <Name>, sagt es git fetch, dass der Standard-Refspec zum Mergen in FETCH_HEAD markiert werden soll. Der Wert wird wie der Remote-Teil eines Refspecs behandelt und muss mit einem Ref übereinstimmen, der vom Remote gemäß branch.<Name>.remote abgerufen wird. Die Merge-Informationen werden von git pull (das zuerst git fetch aufruft) verwendet, um den Standard-Branch zum Mergen nachzuschlagen. Ohne diese Option mergt git pull standardmäßig den ersten abgerufenen Refspec. Geben Sie mehrere Werte an, um einen Oktopus-Merge zu erhalten. Wenn Sie git pull so einrichten möchten, dass in <Name> von einem anderen Branch im lokalen Repository gemergt wird, können Sie branch.<Name>.merge auf den gewünschten Branch zeigen lassen und die relative Pfadangabe . (ein Punkt) für branch.<Name>.remote verwenden.

branch.<Name>.mergeOptions

Setzt Standardoptionen für das Mergen in Branch <Name>. Die Syntax und unterstützten Optionen sind dieselben wie bei git-merge[1], aber Optionswerte, die Leerzeichen enthalten, werden derzeit nicht unterstützt.

branch.<Name>.rebase

Wenn true, wird der Branch <Name> auf den abgerufenen Branch rebased, anstatt den Standard-Branch vom Standard-Remote zu mergen, wenn git pull ausgeführt wird. Siehe pull.rebase, um dies nicht branch-spezifisch zu tun.

Wenn merges (oder nur m), wird die Option --rebase-merges an git rebase übergeben, damit die lokalen Merge-Commits in den Rebase einbezogen werden (siehe git-rebase[1] für Details).

Wenn der Wert interactive (oder nur i) ist, wird der Rebase im interaktiven Modus ausgeführt.

HINWEIS: Dies ist eine potenziell gefährliche Operation; verwenden Sie sie **nicht**, es sei denn, Sie verstehen die Auswirkungen (siehe git-rebase[1] für Details).

branch.<Name>.description

Branch-Beschreibung, kann mit git branch --edit-description bearbeitet werden. Die Branch-Beschreibung wird automatisch dem format-patch-Cover-Letter oder der request-pull-Zusammenfassung hinzugefügt.

BEISPIELE

Entwicklung von einem bekannten Tag starten
$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
$ cd my2.6
$ git branch my2.6.14 v2.6.14   (1)
$ git switch my2.6.14
  1. Dieser Schritt und der nächste könnten zu einem einzigen Schritt mit "checkout -b my2.6.14 v2.6.14" kombiniert werden.

Einen nicht benötigten Branch löschen
$ git clone git://git.kernel.org/.../git.git my.git
$ cd my.git
$ git branch -d -r origin/todo origin/html origin/man   (1)
$ git branch -D test                                    (2)
  1. Löscht die Remote-Tracking-Branches "todo", "html" und "man". Der nächste git fetch oder git pull wird sie wieder erstellen, es sei denn, Sie konfigurieren sie entsprechend. Siehe git-fetch[1].

  2. Löscht den Branch "test", auch wenn der Branch "master" (oder welcher Branch auch immer gerade ausgecheckt ist) nicht alle Commits aus dem Test-Branch enthält.

Auflisten von Branches von einem bestimmten Remote
$ git branch -r -l '<remote>/<pattern>'                 (1)
$ git for-each-ref 'refs/remotes/<remote>/<pattern>'    (2)
  1. Die Verwendung von -a würde <Remote> mit lokalen Branches vermischen, die zufällig mit demselben <Remote>-Muster präfixiert waren.

  2. for-each-ref kann eine breite Palette von Optionen entgegennehmen. Siehe git-for-each-ref[1]

Muster müssen normalerweise in Anführungszeichen gesetzt werden.

ANMERKUNGEN

Wenn Sie einen Branch erstellen, zu dem Sie sofort wechseln möchten, ist es einfacher, den Befehl git switch mit seiner Option -c zu verwenden, um dasselbe mit einem einzigen Befehl zu tun.

Die Optionen --contains, --no-contains, --merged und --no-merged dienen vier verwandten, aber unterschiedlichen Zwecken.

  • --contains <commit> wird verwendet, um alle Branches zu finden, die besondere Aufmerksamkeit erfordern, wenn <commit> rebased oder amended würde, da diese Branches den angegebenen <commit> enthalten.

  • --no-contains <commit> ist das Gegenteil davon, d. h. Branches, die den angegebenen <commit> nicht enthalten.

  • --merged wird verwendet, um alle Branches zu finden, die sicher gelöscht werden können, da diese Branches vollständig von HEAD enthalten sind.

  • --no-merged wird verwendet, um Branches zu finden, die für das Mergen in HEAD in Frage kommen, da diese Branches nicht vollständig von HEAD enthalten sind.

Bei der Kombination mehrerer --contains- und --no-contains-Filter werden nur Referenzen angezeigt, die mindestens einen der --contains-Commits enthalten und keinen der --no-contains-Commits enthalten.

Bei der Kombination mehrerer --merged- und --no-merged-Filter werden nur Referenzen angezeigt, die von mindestens einem der --merged-Commits erreichbar sind und von keinem der --no-merged-Commits.

GIT

Teil der git[1] Suite