

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Mit Branches in AWS CodeCommit Repositorys arbeiten
<a name="branches"></a>

Was ist ein Branch? In Git sind Branches Zeiger oder Verweise auf einen Commit. In der Entwicklung sind sie eine praktische Möglichkeit, die Arbeit zu organisieren. Du kannst Branches verwenden, um die Arbeit an einer neuen oder anderen Version von Dateien voneinander zu trennen, ohne die Arbeit in anderen Branches zu beeinträchtigen. Sie können Branches verwenden, um neue Funktionen zu entwickeln, spezifische Projektversionen von einem bestimmten Commit zu speichern und mehr. Wenn Sie Ihren ersten Commit erstellen, wird ein *Standard-Branch* für Sie erstellt. Dieser Standard-Branch wird als Basis- oder Standard-Branch in lokalen Repositorys (Repos) verwendet, wenn Benutzer das Repository klonen. Der Name dieses Standard-Branches hängt davon ab, wie Sie Ihren ersten Commit erstellen. Wenn Sie die erste Datei mithilfe der CodeCommit Konsole zu Ihrem Repository hinzufügen AWS CLI, lautet der SDKs Name des Standard-Branches *main*. Dies ist der Standard-Branch-Name, der in den Beispielen in diesem Handbuch verwendet wird. Wenn du deinen ersten Commit mit einem Git-Client pushst, gibt der Git-Client den Namen des Standard-Branches als Standard an. Erwägen Sie, Ihren Git-Client so zu konfigurieren, dass er *main* als Namen für den ersten Branch verwendet.

 CodeCommitIn kannst du den Standard-Branch für dein Repository ändern. Sie können auch Branches erstellen und löschen und Details über einen Branch anzeigen. Sie können die Unterschiede zwischen einem Branch und dem Standard-Branch (oder zwei anderen Branches) schnell ermitteln. Um den Verlauf der Branches und Merges in deinem Repository anzusehen, kannst du den [Commit-Visualizer](how-to-view-commit-details.md#how-to-view-commit-details-console-visualizer) verwenden, der in der folgenden Grafik dargestellt ist.

![\[Eine Ansicht der Branches in einem Repository\]](http://docs.aws.amazon.com/de_de/codecommit/latest/userguide/images/codecommit-cv-complex1.png)


Informationen zur Arbeit mit anderen Aspekten Ihres Repositorys finden Sie unter CodeCommit,[Arbeiten mit Repositorien](repositories.md), [Mit Dateien arbeiten](files.md) [Verwenden von Pull-Anforderungen](pull-requests.md)[Mit Commits arbeiten](commits.md), und. [Mit Benutzereinstellungen arbeiten](user-preferences.md) 

**Topics**
+ [Erstellen Sie einen Zweig in AWS CodeCommit](how-to-create-branch.md)
+ [Beschränken Sie die Anzahl von Pushs und Merges auf Branches in AWS CodeCommit](how-to-conditional-branch.md)
+ [Details zum Branch finden Sie in AWS CodeCommit](how-to-view-branch-details.md)
+ [Vergleichen und Zusammenführen von Zweigen in AWS CodeCommit](how-to-compare-branches.md)
+ [Ändern Sie die Zweigeinstellungen in AWS CodeCommit](how-to-change-branch.md)
+ [Lösche einen Zweig in AWS CodeCommit](how-to-delete-branch.md)

# Erstellen Sie einen Zweig in AWS CodeCommit
<a name="how-to-create-branch"></a>

Sie können die CodeCommit Konsole oder die verwenden AWS CLI , um Branches für Ihr Repository zu erstellen. Dies ist eine schnelle Möglichkeit, um separat an einer neuen oder anderen Version von Dateien zu arbeiten, ohne den Standard-Branch zu beeinträchtigen. Nachdem Sie einen Branch in der CodeCommit Konsole erstellt haben, müssen Sie diese Änderung in Ihr lokales Repository übernehmen. Alternativ können Sie lokal einen Branch erstellen und dann Git von einem lokalen Repo aus verwenden, das mit dem CodeCommit Repository verbunden ist, um diese Änderung zu pushen. 

**Topics**
+ [Erstelle einen Branch (Konsole)](#how-to-create-branch-console)
+ [Einen Zweig erstellen (Git)](#how-to-create-branch-git)
+ [Erstelle einen Zweig (AWS CLI)](#how-to-create-branch-cli)

## Erstelle einen Branch (Konsole)
<a name="how-to-create-branch-console"></a>

Sie können die CodeCommit Konsole verwenden, um einen Branch in einem CodeCommit Repository zu erstellen. Wenn Benutzer das nächste Mal Änderungen vom Repository abrufen, sehen sie den neuen Branch.

1. Öffnen Sie die CodeCommit Konsole unter [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Wählen Sie unter **Repositories (Repositorys)** den Namen des Repositorys aus, in dem Sie einen Branch erstellen möchten. 

1. Wählen Sie im Navigationsbereich **Branches** aus.

1. Klicken Sie auf **Create branch**.   
![\[Einen Zweig in der Konsole erstellen. CodeCommit\]](http://docs.aws.amazon.com/de_de/codecommit/latest/userguide/images/codecommit-branches-create.png)

   Geben Sie im Feld **Branch name (Branch-Name)** einen Namen für den Branch ein. Wählen Sie unter **Branch from (Verzweigen von)** entweder einen Branch oder ein Tag aus der Liste aus oder fügen Sie eine Commit-ID ein. Klicken Sie auf **Create branch**.

## Einen Zweig erstellen (Git)
<a name="how-to-create-branch-git"></a>

Gehen Sie wie folgt vor, um mit Git von einem lokalen Repository aus einen Branch in einem lokalen Repository zu erstellen und diesen Branch dann in das Repository zu übertragen. CodeCommit 

Diese Schritte wurden unter der Annahme geschrieben, dass Sie das lokale Repository bereits mit dem Repository verbunden haben. CodeCommit Detaillierte Anweisungen finden Sie unter [Herstellen einer Verbindung mit einem Repository](how-to-connect.md).

1. Erstellen Sie einen Branch in Ihrem lokalen Repository, indem Sie den **git checkout -b *new-branch-name*** Befehl ausführen. Dabei *new-branch-name* steht der Name des neuen Branches.

   Mit dem folgenden Befehl wird beispielsweise ein Branch mit dem Namen `MyNewBranch` im lokalen Repository erstellt:

   ```
   git checkout -b MyNewBranch
   ```

1. Um den neuen Branch vom lokalen Repository in das CodeCommit Repository zu übertragen, führen Sie den **git push** Befehl aus ***remote-name*** und geben Sie dabei sowohl den als auch den an. ***new-branch-name*** 

   Um zum Beispiel einen neuen Branch im lokalen Repository mit dem Namen in das CodeCommit Repository mit dem Spitznamen `MyNewBranch` zu übertragen: `origin`

   ```
   git push origin MyNewBranch
   ```

**Anmerkung**  
Wenn Sie die `-u` Option hinzufügen **git push** (z. B.**git push -u origin main**), können Sie in future **git push** ohne arbeiten *remote-name**branch-name*. Es werden Upstream-Nachverfolgungsdaten festgelegt. Führen Sie **git remote show *remote-name*** aus (z. B. **git remote show origin**), um Upstream-Nachverfolgungsdaten abzurufen.  
Führen Sie **git branch --all** aus, um eine Liste aller lokalen und Remote-Nachverfolgungs-Branches anzuzeigen.  
Um einen Zweig im lokalen Repository einzurichten, der mit einem Zweig im CodeCommit Repository verbunden ist, führen Sie **git checkout *remote-branch-name*** den Befehl aus.

Weitere Optionen findest du in deiner Git-Dokumentation.

## Erstelle einen Zweig (AWS CLI)
<a name="how-to-create-branch-cli"></a>

Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie den AWS CLI. Weitere Informationen finden Sie unter [Befehlszeilenreferenz](cmd-ref.md). 

Gehen Sie wie folgt vor, um mit dem einen Branch in einem CodeCommit Repository AWS CLI zu erstellen und diesen Branch dann per Push in das CodeCommit Repository zu übertragen. Die Schritte zum Erstellen eines ersten Commits und zum Angeben des Namens des Standard-Branches für ein leeres Repository finden [Sie unter Erstellen Sie den ersten Commit für ein Repository mit dem AWS CLI](how-to-create-commit.md#create-first-commit).

1. Führen Sie den Befehl **create-branch** aus und geben Sie Folgendes an:
   + Der Name des CodeCommit Repositorys, in dem der Branch erstellt wird (mit der **--repository-name** Option).
**Anmerkung**  
Um den Namen des CodeCommit Repositorys abzurufen, führen Sie den Befehl [list-repositories](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli) aus.
   + Der Name des neuen Branches (mit der Option **--branch-name**).
   + Die ID des Commits, auf den der neue Branch verweist (mit der Option **--commit-id**).

   Um beispielsweise einen Branch mit dem Namen zu erstellen, der auf `MyNewBranch` die Commit-ID `317f8570EXAMPLE` in einem CodeCommit Repository mit dem Namen verweist: `MyDemoRepo`

   ```
   aws codecommit create-branch --repository-name MyDemoRepo --branch-name MyNewBranch --commit-id 317f8570EXAMPLE
   ```

   Dieser Befehl liefert nur eine Ausgabe, wenn Fehler aufgetreten sind.

1. Um die Liste der verfügbaren CodeCommit Repository-Branches in Ihrem lokalen Repository mit dem neuen Namen der Remote-Branches zu aktualisieren, führen Sie **git remote update *remote-name*** folgenden Befehl aus.

   Um beispielsweise die Liste der verfügbaren Branches für das CodeCommit Repository mit dem Spitznamen `origin` zu aktualisieren:

   ```
   git remote update origin 
   ```
**Anmerkung**  
Alternativ können Sie den Befehl **git fetch** ausführen. Sie können sich auch alle Remote-Branches ansehen**git branch --all**, indem Sie den Befehl ausführen, aber bis Sie die Liste Ihres lokalen Repos aktualisiert haben, erscheint der von Ihnen erstellte Remote-Branch nicht in der Liste.   
Weitere Optionen findest du in deiner Git-Dokumentation.

1. Um einen Branch im lokalen Repository einzurichten, der mit dem neuen Branch im CodeCommit Repository verbunden ist, führe **git checkout *remote-branch-name*** folgenden Befehl aus.

**Anmerkung**  
 Um eine Liste der CodeCommit Repository-Namen und ihrer Namen zu erhalten URLs, führen Sie den **git remote -v** Befehl aus.

# Beschränken Sie die Anzahl von Pushs und Merges auf Branches in AWS CodeCommit
<a name="how-to-conditional-branch"></a>

Standardmäßig kann jeder CodeCommit Repository-Benutzer, der über ausreichende Berechtigungen verfügt, um Code in das Repository zu übertragen, zu jedem Branch in diesem Repository beitragen. Dies gilt unabhängig davon, wie Sie einen Branch zum Repository hinzuzufügen: über die Konsole, die Befehlszeile oder Git. Sie können jedoch einen Branch konfigurieren, sodass nur einige Repository-Benutzer Code zu diesem Branch senden oder mit ihm zusammenführen können. Beispielsweise können Sie eine Verzweigung für den Produktionscode so konfigurieren, dass nur bestimmte erfahrene Entwickler Änderungen an dieser Verzweigung vornehmen oder zusammenführen können. Andere Entwickler können etwas aus der Verzweigung abrufen, ihre eigenen Verzweigungen erstellen und Pull-Anforderungen erstellen, aber sie können keine Änderungen an diese Verzweigung senden oder mit dieser zusammenführen. Sie können diesen Zugriff konfigurieren, indem Sie eine bedingte Richtlinie erstellen, die einen Kontextschlüssel für einen oder mehrere Zweige in IAM verwendet. 

**Anmerkung**  
Um einige der Verfahren in diesem Thema abzuschließen, müssen Sie sich mit einem Administratorbenutzer anmelden, der über ausreichende Berechtigungen zum Konfigurieren und Anwenden von IAM-Richtlinien verfügt. Weitere Informationen finden Sie unter [Einen IAM-Admin-Benutzer und eine IAM-Admin-Gruppe erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html). 

**Topics**
+ [Konfigurieren Sie eine IAM-Richtlinie, um Pushs und Merges auf einen Branch zu beschränken](#how-to-conditional-branch-create-policy)
+ [Wenden Sie die IAM-Richtlinie auf eine IAM-Gruppe oder -Rolle an](#how-to-conditional-branch-apply-policy)
+ [Testen Sie die Richtlinie](#how-to-conditional-branch-test)

## Konfigurieren Sie eine IAM-Richtlinie, um Pushs und Merges auf einen Branch zu beschränken
<a name="how-to-conditional-branch-create-policy"></a>

Sie können in IAM eine Richtlinie erstellen, die verhindert, dass Benutzer einen Branch aktualisieren, einschließlich der Übertragung von Commits an einen Branch und der Zusammenführung von Pull-Requests an einen Branch. Dazu verwendet Ihre Richtlinie eine bedingte Anweisung, sodass die Wirkung der Anweisung `Deny` nur stattfindet, wenn die Bedingung erfüllt ist. Die Angaben APIs , die Sie in die `Deny` Anweisung aufnehmen, bestimmen, welche Aktionen nicht zulässig sind. Sie können diese Richtlinie so konfigurieren, dass sie nur für einen Branch in einem Repository, eine Reihe von Branches in einem Repository oder für alle Branches gilt, die den Kriterien in allen Repositorys in einem Amazon Web Services Services-Konto entsprechen. <a name="how-to-conditional-branch-create-policy-procedure"></a>

**So erstellen Sie eine bedingte Richtlinie für Verzweigungen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich **Richtlinien**. 

1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie **JSON**, und fügen Sie dann die folgende Beispielrichtlinie ein. Ersetzen Sie den Wert von `Resource` durch den ARN des Repositories, das die Verzweigung enthält, für die Sie den Zugriff einschränken möchten. Ersetzen Sie den Wert von `codecommit:References` durch einen Verweis auf den Branch oder die Branches, für die Sie den Zugriff einschränken möchten. Diese Richtlinie verbietet beispielsweise das Senden von Commits, das Zusammenführen von Branches, das Löschen von Branches, das Löschen von Dateien, das Zusammenführen von Pull-Requests und das Hinzufügen von Dateien zu einem Branch mit dem Namen *`main`* und einem Branch mit dem Namen`prod`: `MyDemoRepo`

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": [
                   "codecommit:GitPush",
                   "codecommit:DeleteBranch",
                   "codecommit:DeleteFile",
                   "codecommit:PutFile",
                   "codecommit:MergeBranchesByFastForward",
                   "codecommit:MergeBranchesBySquash",
                   "codecommit:MergeBranchesByThreeWay",
                   "codecommit:MergePullRequestByFastForward",
                   "codecommit:MergePullRequestBySquash",
                   "codecommit:MergePullRequestByThreeWay"
               ],
               "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo",
               "Condition": {
                   "StringEqualsIfExists": {
                       "codecommit:References": [
                           "refs/heads/main", 
                           "refs/heads/prod"
                        ]
                   },
                   "Null": {
                       "codecommit:References": "false"
                   }
               }
           }
       ]
   }
   ```

------

   Branches in Git sind einfach Zeiger (Referenzen) auf den SHA-1-Wert des HEAD-Commit, weshalb die Bedingung `References` verwendet. Die `Null` -Anweisung in jeder Richtlinie erforderlich, die ein `Deny` bewirkt, und wobei eine der Aktionen `GitPush` ist. Dies ist aufgrund der Art und Weise erforderlich, wie Git und `git-receive-pack` arbeiten, wenn sie Änderungen von einem lokalen Repository an CodeCommit senden.
**Tipp**  
Um eine Richtlinie zu erstellen, die für alle Branches mit dem Namen main in allen Repositorys eines Amazon Web Services Services-Kontos gilt, ändern Sie den Wert `Resource` von einem Repository-ARN in ein Sternchen ()`*`. 

1. Wählen Sie **Richtlinie prüfen**. Korrigieren Sie alle Fehler in Ihrer Richtlinienanweisung und fahren Sie dann mit **Create policy (Richtlinie erstellen)** fort.

1. Wenn JSON validiert wird, wird die Seite **Seite Create policy (Richtlinie erstellen)** angezeigt. Eine Warnung wird im Abschnitt **Summary (Zusammenfassung** angezeigt, die Sie darauf hinweist, dass diese Richtlinie keine Berechtigungen gewährt. Das ist normal. 
   + Geben Sie unter **Name** einen Namen für diese Richtlinie wie **DenyChangesToMain** ein.
   + Geben Sie in **Description (Beschreibung)** eine Beschreibung zum Zweck der Richtlinie ein. Dies ist zwar optional, wird aber empfohlen.
   + Wählen Sie **Richtlinie erstellen** aus.

## Wenden Sie die IAM-Richtlinie auf eine IAM-Gruppe oder -Rolle an
<a name="how-to-conditional-branch-apply-policy"></a>

Sie haben eine Richtlinie erstellt, die Push- und Merge-Vorgänge auf einen Branch beschränkt, aber die Richtlinie ist erst wirksam, wenn Sie sie auf einen IAM-Benutzer, eine IAM-Gruppe oder eine IAM-Rolle anwenden. Es hat sich bewährt, die Richtlinie auf eine IAM-Gruppe oder -Rolle anzuwenden. Die Anwendung von Richtlinien auf einzelne IAM-Benutzer lässt sich nicht gut skalieren.<a name="how-to-conditional-branch-apply-policy-procedure"></a>

**Anwendung der bedingten Richtlinie auf eine Gruppe oder Rolle**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. **Wenn Sie die Richtlinie auf eine IAM-Gruppe anwenden möchten, wählen Sie im Navigationsbereich **Gruppen** aus. Wenn Sie die Richtlinie auf eine Rolle anwenden möchten, die Benutzer übernehmen, wählen Sie Rolle aus.** Wählen Sie den Namen der Gruppe oder Rolle aus.

1. Wählen Sie auf der Registerkarte **Permissions (Berechtigungen)** die Option **Attach Policy (Richtlinie zuweisen)** aus.

1. Wählen Sie die bedingte Richtlinie, die Sie zuvor erstellt haben, aus der Liste der Richtlinien aus, und klicken Sie auf **Attach policy (Richtlinie hinzufügen)**.

Weitere Informationen finden Sie unter [IAM-Richtlinien anhängen und trennen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Testen Sie die Richtlinie
<a name="how-to-conditional-branch-test"></a>

Sie sollten die Auswirkungen der von Ihnen auf die Gruppe oder Rolle angewendeten Richtlinie testen, um sicherzustellen, dass sie wie erwartet funktioniert. Es gibt viele Möglichkeiten, dies zu realisieren. Wenn Sie beispielsweise eine ähnliche Richtlinie wie die oben gezeigte testen möchten, können Sie wie folgt vorgehen:
+ Melden Sie sich bei der CodeCommit Konsole mit einem IAM-Benutzer an, der entweder Mitglied einer IAM-Gruppe ist, auf die die Richtlinie angewendet wurde, oder der eine Rolle annimmt, auf die die Richtlinie angewendet wurde. In der Konsole fügen Sie der Verzweigung, für die die Einschränkungen gelten, eine Datei hinzu. Sie sollten eine Fehlermeldung sehen, wenn Sie versuchen, eine Datei in dieser Verzweigung zu speichern oder eine Datei in die Verzweigung hochzuladen. Fügen Sie einer anderen Verzweigung eine Datei hinzu. Die Operation sollte erfolgreich sein.
+ Melden Sie sich bei der CodeCommit Konsole mit einem IAM-Benutzer an, der entweder Mitglied einer IAM-Gruppe ist, auf die die Richtlinie angewendet wurde, oder der eine Rolle annimmt, auf die die Richtlinie angewendet wurde. Erstellen Sie eine Pull-Anforderung, die mit dem Branch zusammengeführt wird, für den die Einschränkungen gelten. Sie sollten in der Lage sein, die Pull-Anforderung zu erstellen, erhalten aber einen Fehler, wenn Sie versuchen, sie zusammenzuführen. 
+ Erstellen Sie über das Terminal oder die Befehlszeile einen Commit für den Branch, für den die Einschränkungen gelten, und übertragen Sie diesen Commit dann per Push in das CodeCommit Repository. Sie sollten eine Fehlermeldung sehen. Commits und Sendeoperationen von anderen Verzweigungen aus sollten wie gewohnt funktionieren.

# Details zum Branch finden Sie in AWS CodeCommit
<a name="how-to-view-branch-details"></a>

Sie können die CodeCommit Konsole verwenden, um Details zu den Branches in einem CodeCommit Repository anzuzeigen. Sie können das Datum des letzten Commit für einen Branche, die Commit-Nachrichtung und vieles andere mehr anzeigen. Sie können auch das AWS CLI oder Git von einem lokalen Repo verwenden, das mit dem CodeCommit Repository verbunden ist.

**Topics**
+ [Branch-Details anzeigen (Konsole)](#how-to-view-branch-details-console)
+ [Filialdetails anzeigen (Git)](#how-to-view-branch-details-git)
+ [Details zur Filiale anzeigen (AWS CLI)](#how-to-view-branch-details-cli)

## Branch-Details anzeigen (Konsole)
<a name="how-to-view-branch-details-console"></a>

Verwenden Sie die CodeCommit Konsole, um schnell eine Liste der Branches für Ihr Repository und Details zu den Branches anzuzeigen.

1. Öffnen Sie die CodeCommit Konsole unter [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Wählen Sie unter **Repositories (Repositorys)** den Namen des Repositorys aus, in dem Sie Branch-Details anzeigen möchten. 

1. Wählen Sie im Navigationsbereich **Branches** aus.  
![\[Eine Ansicht der Branches in einem Repository.\]](http://docs.aws.amazon.com/de_de/codecommit/latest/userguide/images/codecommit-branches.png)

1. **Der Name des Branches, der als Standard für das Repository verwendet wird, wird neben Standard-Branch angezeigt.** Um Details über das letzte Commit für einen Branch anzuzeigen, wählen Sie den Branch und dann **View last commit (Letztes Commit anzeigen)** aus. Um die Dateien und den Code in einem Branch anzuzeigen, wählen Sie den Branch-Namen. 

## Filialdetails anzeigen (Git)
<a name="how-to-view-branch-details-git"></a>

Um Git von einem lokalen Repo aus zu verwenden, um Details sowohl zu den lokalen als auch zu den Remote-Tracking-Branches für ein CodeCommit Repository anzuzeigen, führen Sie den **git branch** Befehl aus.

Die folgenden Schritte wurden unter der Annahme geschrieben, dass Sie das lokale Repository bereits mit dem Repository verbunden haben. CodeCommit Detaillierte Anweisungen finden Sie unter [Herstellen einer Verbindung mit einem Repository](how-to-connect.md).

1. Führen Sie den Befehl **git branch** aus und geben Sie dabei die Option **--all** an:

   ```
   git branch --all
   ```

1. Ist der Befehl erfolgreich, wird eine Ausgabe zurückgegeben, die wie folgt aussehen sollte:

   ```
     MyNewBranch
   * main
     remotes/origin/MyNewBranch
     remotes/origin/main
   ```

   Das Sternchen (`*`) wird neben dem aktuell geöffneten Branch angezeigt. Die Einträge danach sind Remotenachverfolgungs-Referenzen.
**Tipp**  
**git branch** zeigt lokale Branches an.  
**git branch -r** zeigt Remote-Branches an.  
**git checkout *existing-branch-name*** wechselt zu dem angegebenen Branch-Namen. Sofern direkt danach **git branch** ausgeführt wird, wird daneben ein Sternchen angezeigt (`*`).  
**git remote update *remote-name***aktualisiert Ihr lokales Repo mit der Liste der verfügbaren CodeCommit Repository-Zweige. (Um eine Liste der CodeCommit Repository-Namen und ihrer Namen zu erhalten URLs, führen Sie den **git remote -v** Befehl aus.)

Weitere Optionen findest du in deiner Git-Dokumentation.

## Details zur Filiale anzeigen (AWS CLI)
<a name="how-to-view-branch-details-cli"></a>

Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie den AWS CLI. Weitere Informationen finden Sie unter [Befehlszeilenreferenz](cmd-ref.md). 

Um Details AWS CLI zu den Branches in einem CodeCommit Repository anzuzeigen, führen Sie einen oder mehrere der folgenden Befehle aus:
+ Um eine Liste von Branch-Namen anzuzeigen, führen Sie [list-branches](#how-to-view-branch-details-cli) aus.
+ [Um Informationen zu einem bestimmten Zweig anzuzeigen, führen Sie get-branch aus.](#how-to-view-branch-details-cli-details)

### So zeigen Sie eine Liste mit Branch-Namen an
<a name="how-to-view-branch-details-cli-list"></a>

1. Führen Sie den **list-branches** Befehl aus und geben Sie den Namen des CodeCommit Repositorys an (mit der `--repository-name` Option).
**Tipp**  
Um den Namen des CodeCommit Repositorys abzurufen, führen Sie den Befehl [list-repositories](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli) aus.

   Um beispielsweise Details zu den Branches in einem CodeCommit Repository mit dem Namen anzuzeigen: `MyDemoRepo`

   ```
   aws codecommit list-branches --repository-name MyDemoRepo
   ```

1. Ist der Befehl erfolgreich, wird ein `branchNameList`-Objekt mit einem Eintrag für jeden Branch ausgegeben.

   Es folgt eine Beispielausgabe basierend auf dem vorangehenden Beispielbefehl:

   ```
   {
       "branches": [
           "MyNewBranch",
           "main"
       ]
   }
   ```

### So zeigen Sie Informationen über einen Branch an
<a name="how-to-view-branch-details-cli-details"></a>

1. Führen Sie den Befehl **get-branch** aus und geben Sie Folgendes an:
   + Den Repository-Namen (mit der Option **--repository-name**).
   + Den Branch-Namen (mit der Option **--branch-name**).

   Um beispielsweise Informationen über einen Branch anzuzeigen, der `MyNewBranch` in einem CodeCommit Repository mit dem Namen`MyDemoRepo`:

   ```
   aws codecommit get-branch --repository-name MyDemoRepo --branch-name MyNewBranch
   ```

1. Ist der Befehl erfolgreich, werden der Name des Branches und die ID des letzten, für den Branch ausgeführten Commits ausgegeben.

   Es folgt eine Beispielausgabe basierend auf dem vorangehenden Beispielbefehl:

   ```
   {
       "branch": {
             "branchName": "MyNewBranch",
             "commitID": "317f8570EXAMPLE"
       }
   }
   ```

# Vergleichen und Zusammenführen von Zweigen in AWS CodeCommit
<a name="how-to-compare-branches"></a>

Sie können die CodeCommit Konsole verwenden, um Branches in einem CodeCommit Repository zu vergleichen. Durch den Vergleich von Branches können Sie schnell die Unterschiede zwischen einem Branch und dem Standard-Branch erkennen, oder die Unterschiede zwischen zwei Branches.

**Topics**
+ [Vergleichen Sie einen Branch mit dem Standard-Branch](#how-to-compare-branches-default)
+ [Vergleichen Sie zwei spezifische Branchen](#how-to-compare-branches-two)
+ [Zwei Zweige zusammenführen ()AWS CLI](#how-to-merge-branches-cli)

## Vergleichen Sie einen Branch mit dem Standard-Branch
<a name="how-to-compare-branches-default"></a>

Verwende die CodeCommit Konsole, um dir schnell die Unterschiede zwischen einem Branch und dem Standard-Branch für dein Repository anzusehen.

1. Öffne die CodeCommit Konsole unter [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Wählen Sie unter **Repositories (Repositorys)** den Namen des Repositorys aus, in dem Sie Branches vergleichen möchten. 

1. Wählen Sie im Navigationsbereich **Commits** und dann die **Compare commits (Commits vergleichen)**-Registerkarte aus.

1. Wählen Sie unter **Destination (Ziel)** den Namen des Standard-Branches aus. Wählen Sie unter **Source (Quelle)** den Branch aus, den Sie mit dem Standard-Branch vergleichen möchten. Wählen Sie **Compare** aus.

## Vergleichen Sie zwei spezifische Branchen
<a name="how-to-compare-branches-two"></a>

Verwenden Sie die CodeCommit Konsole, um die Unterschiede zwischen zwei Branchen anzuzeigen, die Sie vergleichen möchten.

1. Öffnen Sie die CodeCommit Konsole unter [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Wählen Sie unter **Repositories (Repositorys)** den Namen des Repositorys aus, in dem Sie Branches vergleichen möchten. 

1. Wählen Sie im Navigationsbereich **Commits** und dann die **Compare commits (Commits vergleichen)**-Registerkarte aus.

1. Wählen Sie unter **Destination (Ziel)** und **Source (Quelle)** die zwei zu vergleichenden Branches aus und wählen Sie dann **Compare (Vergleichen)** aus. Um die Liste der geänderten Dateien anzuzeigen, erweitern Sie die Liste der geänderten Dateien. Sie können die Änderungen an den Dateien nebeneinander (Ansicht Split) oder inline (Ansicht Unified) anzeigen.
**Anmerkung**  
Wenn Sie als IAM-Benutzer angemeldet sind, können Sie Ihre Einstellungen für die Anzeige von Code und andere Konsoleneinstellungen konfigurieren und speichern. Weitere Informationen finden Sie unter [Mit Benutzereinstellungen arbeiten](user-preferences.md).  
![\[Eine verkürzte Darstellung der Unterschiede zwischen zwei Branchen.\]](http://docs.aws.amazon.com/de_de/codecommit/latest/userguide/images/codecommit-compare-branches.png)

## Zwei Zweige zusammenführen ()AWS CLI
<a name="how-to-merge-branches-cli"></a>

Sie können zwei Branches in einem CodeCommit Repository zusammenführen, indem Sie eine der verfügbaren Merge-Strategien AWS CLI verwenden, indem Sie einen der folgenden Befehle ausführen:
+ Führen Sie den Befehl [**merge-branches-by-fast-forward**](#merge-branches-by-fast-forward) aus, um zwei Branches mithilfe der Mergestrategie mit Vorlauf zusammenzuführen.
+ Führen Sie den Befehl [**merge-branches-by-squash**](#merge-branches-by-squash) aus, um zwei Branches mithilfe der Squashmerge-Strategie zusammenzuführen.
+ Führen Sie den Befehl [**merge-branches-by-three-way**](#merge-branches-by-three-way) aus, um zwei Branches mithilfe der Dreiwegemerge-Strategie zusammenzuführen.

Sie können Zusammenführungen auch testen, indem Sie den Befehl **create-unreferenced-merge-commit** ausführen. Weitere Informationen finden Sie unter [Auflösen von Konflikten in einer Pull-Anforderung](how-to-resolve-conflict-pull-request.md#create-unreferenced-merge-commit).

**Anmerkung**  
Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie den AWS CLI. Weitere Informationen finden Sie unter [Befehlszeilenreferenz](cmd-ref.md). 

**Um das zu verwenden AWS CLI , um zwei Zweige in einem CodeCommit Repository zusammenzuführen**

1. <a name="merge-branches-by-fast-forward"></a>Um zwei Branches mithilfe der Mergestrategie mit Vorlauf zusammenzuführen, führen Sie den Befehl **merge-branches-by-fast-forward** aus und geben Sie Folgendes an: 
   + Den Namen des Quell-Branches, der die Änderungen enthält, die Sie zusammenführen möchten (mit der Option **--source-commit-specifier**). 
   + Den Namen des Ziel-Branches, in dem Sie Ihre Änderungen zusammenführen möchten (mit der Option **--destination-commit-specifier**). 
   + Der Name des Repositorys (mit der Option **--repository-name**).

    Um zum Beispiel einen Quell-Branch mit einem Ziel-Branch *bugfix-1234* zusammenzuführen, der *preprod* in einem Repository mit dem Namen*MyDemoRepo*:

   ```
   aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo
   ```

   Ist der Befehl erfolgreich, wird eine Ausgabe zurückgegeben, die der folgenden ähnelt:

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-squash"></a>Um zwei Branches mithilfe der Squashmerge-Strategie zusammenzuführen, führen Sie den Befehl **merge-branches-by-squash** aus und geben Sie Folgendes an:
   + Den Namen des Quell-Branches, der die Änderungen enthält, die Sie zusammenführen möchten (mit der Option **--source-commit-specifier**). 
   + Den Namen des Ziel-Branches, in dem Sie Ihre Änderungen zusammenführen möchten (mit der Option **--destination-commit-specifier**). 
   + Der Name des Repositorys (mit der Option **--repository-name**).
   + Die einzuschließende Commit-Nachricht (mit der Option **--commit-message**).
   + Der für den Commit zu verwendende Name (mit der Option **--name**).
   + Die für den Commit zu verwendende E-Mail-Adresse (mit der Option **--email**).

   Um beispielsweise einen Quellzweig *bugfix-bug1234* mit dem Namen eines Zielzweigs zusammenzuführen, der *bugfix-quarterly* in einem Repository mit dem Namen*MyDemoRepo*:

   ```
   aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo
   ```

   Ist der Befehl erfolgreich, wird eine Ausgabe zurückgegeben, die der folgenden ähnelt:

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-three-way"></a>Um zwei Branches mithilfe der Dreiwegemerge-Strategie zusammenzuführen, führen Sie den Befehl **merge-branches-by-three-way** aus und geben Sie Folgendes an:
   + Den Namen des Quell-Branches, der die Änderungen enthält, die Sie zusammenführen möchten (mit der Option **--source-commit-specifier**). 
   + Den Namen des Ziel-Branches, in dem Sie Ihre Änderungen zusammenführen möchten (mit der Option **--destination-commit-specifier**). 
   + Der Name des Repositorys (mit der Option **--repository-name**).
   + Die einzuschließende Commit-Nachricht (mit der Option **--commit-message**).
   + Der für den Commit zu verwendende Name (mit der Option **--name**).
   + Die für den Commit zu verwendende E-Mail-Adresse (mit der Option **--email**).

   Um beispielsweise einen Quellzweig *main* mit dem Namen eines Zielzweigs zusammenzuführen, der *bugfix-1234* in einem Repository mit dem Namen*MyDemoRepo*:

   ```
   aws codecommit merge-branches-by-three-way --source-commit-specifier main --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "jorge_souza@example.com" --commit-message "Merging changes from main to bugfix branch before additional testing."  --repository-name MyDemoRepo
   ```

   Ist der Befehl erfolgreich, wird eine Ausgabe zurückgegeben, die der folgenden ähnelt:

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

# Ändern Sie die Zweigeinstellungen in AWS CodeCommit
<a name="how-to-change-branch"></a>

Sie können in der AWS CodeCommit Konsole oder mit dem ändern, welcher Zweig als Standardzweig verwendet werden soll AWS CLI. Wenn du beispielsweise deinen ersten Commit mit einem Git-Client erstellt hast, der den Standard-Branch auf *master* setzt, könntest du einen Branch namens *main* erstellen und dann die Branch-Einstellungen so ändern, dass der neue Branch als Standard-Branch für das Repository festgelegt wird. Um andere Branch-Einstellungen zu ändern, kannst du Git von einem lokalen Repo aus verwenden, das mit dem CodeCommit Repository verbunden ist. 

**Topics**
+ [Ändern Sie den Standardzweig (Konsole)](#how-to-change-branch-console)
+ [Ändern Sie den Standardzweig ()AWS CLI](#how-to-change-branch-cli)

## Ändern Sie den Standardzweig (Konsole)
<a name="how-to-change-branch-console"></a>

Sie können in der AWS CodeCommit Konsole angeben, welcher Branch der Standard-Branch in einem CodeCommit Repository ist. 

1. Öffnen Sie die CodeCommit Konsole unter [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Wählen Sie unter **Repositories (Repositorys)** den Namen des Repositorys aus, bei dem Sie Einstellungen ändern möchten. 

1. Wählen Sie im Navigationsbereich **Settings** (Einstellungen).

1. Wählen Sie unter **Default branch (Standard-Branch)** die Dropdown-Liste für Branches aus und wählen Sie dann einen anderen Branch. Wählen Sie **Speichern**.
**Tipp**  
Wenn Sie in der Drop-down-Liste keinen anderen Zweig sehen, haben Sie keine zusätzlichen Zweige erstellt. Sie können den Standardzweig eines Repositorys nicht ändern, wenn das Repository nur einen Zweig hat. Weitere Informationen finden Sie unter [Erstellen Sie einen Zweig in AWS CodeCommit](how-to-create-branch.md).
Wenn Sie den Abschnitt **Standardverzweigung** nicht sehen, sondern stattdessen Elemente für Benachrichtigungsregeln und Verbindungen sehen, befinden Sie sich im Menü mit den allgemeinen Einstellungen für die Konsole. Das Einstellungsmenü für Repositorys ist unter **Repositorys** auf derselben Ebene wie **Code** - und **Pull-Anfragen** aufgeführt.

## Ändern Sie den Standardzweig ()AWS CLI
<a name="how-to-change-branch-cli"></a>

Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie den AWS CLI. Weitere Informationen finden Sie unter [Befehlszeilenreferenz](cmd-ref.md). 

 AWS CLI Um die Branch-Einstellungen eines Repositorys in einem CodeCommit Repository zu ändern, führen Sie den folgenden Befehl aus:
+ [update-default-branch](#how-to-change-branch-cli-default) (Damit ändern Sie den Standard-Branch.)

### So ändern Sie den Standard-Branch
<a name="how-to-change-branch-cli-default"></a>

1. Führen Sie den Befehl **update-default-branch** aus und geben Sie Folgendes an:
   + Der Name des CodeCommit Repositorys, in dem der Standard-Branch aktualisiert wird (mit der **--repository-name** Option).
**Tipp**  
Um den Namen des CodeCommit Repositorys abzurufen, führen Sie den Befehl [list-repositories](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli) aus.
   + Der Name des neuen Standard-Branches (mit der Option **--default-branch-name**).
**Tipp**  
[Um den Namen des Branches abzurufen, führen Sie den Befehl list-branches aus.](how-to-view-branch-details.md#how-to-view-branch-details-cli)

1. Um beispielsweise den Standard-Branch `MyNewBranch` in ein CodeCommit Repository mit dem Namen zu ändern: `MyDemoRepo`

   ```
   aws codecommit update-default-branch --repository-name MyDemoRepo --default-branch-name MyNewBranch
   ```

   Dieser Befehl liefert nur eine Ausgabe, wenn Fehler aufgetreten sind.

Weitere Optionen findest du in deiner Git-Dokumentation.

# Lösche einen Zweig in AWS CodeCommit
<a name="how-to-delete-branch"></a>

Sie können die CodeCommit Konsole verwenden, um einen Branch in einem Repository zu löschen. Wenn Sie einen Branch in löschen, wird dieser Branch in einem lokalen Repository CodeCommit nicht gelöscht, sodass Benutzer möglicherweise weiterhin Kopien dieses Branches haben, bis sie das nächste Mal Änderungen abrufen. Um einen Branch lokal zu löschen und diese Änderung in das CodeCommit Repository zu übertragen, verwende Git von einem lokalen Repo, das mit dem CodeCommit Repository verbunden ist. 

Durch das Löschen eines Branch werden keine Commits gelöscht, sondern alle Verweise auf die Commits in diesem Branch. Wenn du einen Branch löschst, der Commits enthält, die nicht mit einem anderen Branch im Repository zusammengeführt wurden, kannst du diese Commits nur abrufen, wenn du den vollständigen Commit hast. IDs 

**Anmerkung**  
Sie können die Anweisungen in diesem Thema nicht verwenden, um den Standard-Branch eines Repository zu löschen. Wenn Sie den Standard-Branch löschen möchten, müssen Sie einen Branch erstellen, diesen zum Standard-Branch machen und dann den alten Branch löschen. Weitere Informationen erhalten Sie unter [Erstellen eines Zweigs](how-to-create-branch.md) und [Ändern Sie die Filialeinstellungen](how-to-change-branch.md).

**Topics**
+ [Löscht einen Branch (Konsole)](#how-to-delete-branch-console)
+ [Lösche einen Zweig ()AWS CLI](#how-to-delete-branch-cli)
+ [Einen Zweig löschen (Git)](#how-to-delete-branch-git)

## Löscht einen Branch (Konsole)
<a name="how-to-delete-branch-console"></a>

Sie können die CodeCommit Konsole verwenden, um einen Branch in einem CodeCommit Repository zu löschen. 

1. Öffnen Sie die CodeCommit Konsole unter [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Wählen Sie unter **Repositories (Repositorys)** den Namen des Repositorys aus, in dem Sie einen Branch löschen möchten. 

1. Wählen Sie im Navigationsbereich **Branches** aus.

1. Suchen Sie den Namen des Branches, den Sie löschen möchten, klicken Sie auf **Delete branch (Branch löschen)** und bestätigen Sie dies.

## Lösche einen Zweig ()AWS CLI
<a name="how-to-delete-branch-cli"></a>

Sie können den verwenden AWS CLI , um einen Branch in einem CodeCommit Repository zu löschen, falls dieser Branch nicht der Standard-Branch für das Repository ist. Weitere Hinweise zur Installation und Verwendung von finden Sie unter[Befehlszeilenreferenz](cmd-ref.md). AWS CLI

1. Führen Sie am Terminal oder in der Befehlszeile den Befehl **delete-branch** unter Angabe der folgenden Informationen aus:
   + Der Name des CodeCommit Repositorys, in dem der Branch gelöscht werden soll (mit der **--repository-name** Option).
**Tipp**  
Um den Namen des CodeCommit Repositorys abzurufen, führen Sie den Befehl [list-repositories](how-to-view-repository-details.md#how-to-view-repository-details-no-name-cli) aus.
   + Name des zu löschenden Branches (mit der Option **branch-name**)
**Tipp**  
[Um den Namen des Branches abzurufen, führen Sie den Befehl list-branches aus.](how-to-view-branch-details.md#how-to-view-branch-details-cli)

1. Um beispielsweise einen Branch zu löschen, der `MyNewBranch` in einem CodeCommit Repository mit dem folgenden Namen benannt ist: `MyDemoRepo`

   ```
   aws codecommit delete-branch --repository-name MyDemoRepo --branch-name MyNewBranch
   ```

   Dieser Befehl gibt Informationen über den gelöschten Branch zurück, z. B. den Namen des gelöschten Branch sowie die vollständige Commit-ID des Commits, das Kopf des Branch war. Beispiel:

   ```
   "deletedBranch": {
       "branchName": "MyNewBranch",
       "commitId": "317f8570EXAMPLE"
   }
   ```

## Einen Zweig löschen (Git)
<a name="how-to-delete-branch-git"></a>

Gehen Sie wie folgt vor, um mit Git aus einem lokalen Repository einen Branch in einem CodeCommit Repository zu löschen.

Diese Schritte wurden unter der Annahme geschrieben, dass Sie das lokale Repository bereits mit dem Repository verbunden haben. CodeCommit Detaillierte Anweisungen finden Sie unter [Herstellen einer Verbindung mit einem Repository](how-to-connect.md).

1. Um den Branch aus dem lokalen Repository zu löschen, führen Sie den **git branch -D *branch-name*** Befehl aus, bei dem der Name des Branches *branch-name* steht, den Sie löschen möchten.
**Tipp**  
Um eine Liste der Branch-Namen zu erhalten, führen Sie den Befehl **git branch --all** aus.

   Um beispielsweise einen Zweig im lokalen Repository mit dem Namen zu löschen: `MyNewBranch`

   ```
   git branch -D MyNewBranch
   ```

1. Um den Branch aus dem CodeCommit Repository zu löschen, führen Sie den **git push *remote-name* --delete *branch-name*** Befehl aus, bei dem *remote-name* es sich um den Spitznamen handelt, den das lokale Repository für das CodeCommit Repository verwendet, und *branch-name* um den Namen des Branches, den Sie aus dem CodeCommit Repository löschen möchten. 
**Tipp**  
Um eine Liste der CodeCommit Repository-Namen und ihrer Namen zu erhalten URLs, führen Sie den **git remote -v** Befehl aus.

   Um beispielsweise einen Branch zu löschen, der `MyNewBranch` im CodeCommit Repository wie folgt benannt ist`origin`:

   ```
   git push origin --delete MyNewBranch
   ```
**Tipp**  
Mit diesem Befehl wird der Branch nicht gelöscht, wenn es sich dabei um den Standard-Branch handelt.

Weitere Optionen findest du in deiner Git-Dokumentation.