

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.

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

Wenn Sie den ersten Commit für ein neues Repository erstellen, verwenden Sie den Befehl AWS CLI und den **put-file** Befehl. Dadurch wird der erste Commit erstellt und Sie können den Standard-Branch für Ihr neues Repository erstellen und angeben. Du kannst Git oder the verwenden AWS CLI , um einen Commit in einem CodeCommit Repository zu erstellen. Wenn das lokale Repo mit einem CodeCommit Repository verbunden ist, verwendest du Git, um den Commit vom lokalen Repo in das Repository zu übertragen. CodeCommit Informationen zum Erstellen eines Commits direkt in der CodeCommit Konsole finden Sie unter [Eine Datei erstellen oder zu einem AWS CodeCommit Repository hinzufügen](how-to-create-file.md) und. [Den Inhalt einer Datei in einem AWS CodeCommit Repository bearbeiten](how-to-edit-file.md) 

**Anmerkung**  
Als bewährte Methode empfehlen wir, die neuesten unterstützten Versionen von AWS CLI, Git und anderer Software zu verwenden. Wenn Sie die verwenden AWS CLI, stellen Sie sicher, dass Sie eine aktuelle Version installiert haben, um sicherzustellen, dass Sie eine Version verwenden, die den `create-commit` Befehl enthält.

**Topics**
+ [

## Erstellen Sie den ersten Commit für ein Repository mit dem AWS CLI
](#how-to-create-first-commit)
+ [

## Einen Commit mit einem Git-Client erstellen
](#how-to-create-commit-git)
+ [

## Erstelle einen Commit dem AWS CLI
](#how-to-create-commit-cli)

## Erstellen Sie den ersten Commit für ein Repository mit dem AWS CLI
<a name="how-to-create-first-commit"></a>

Sie können den Befehl AWS CLI und den `put-file` Befehl verwenden, um Ihren ersten Commit für ein Repository zu erstellen. Mit **put-file** Using wird ein erster Commit erstellt, der eine Datei zu Ihrem leeren Repository hinzufügt, und es wird ein Branch mit dem von Ihnen angegebenen Namen erstellt. Es bestimmt den neuen Branch als Standard-Branch für dein Repository. 

**Anmerkung**  
Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie den. AWS CLI Weitere Informationen finden Sie unter [Befehlszeilenreferenz](cmd-ref.md). <a name="create-first-commit"></a>

## Um den ersten Commit für ein Repository zu erstellen, verwenden Sie AWS CLI


1. Erstellen Sie auf Ihrem lokalen Computer die Datei, die Sie als erste Datei zum CodeCommit Repository hinzufügen möchten. Eine gängige Praxis besteht darin, eine `README.md` Markdown-Datei zu erstellen, die anderen Repository-Benutzern den Zweck dieses Repositorys erklärt. Wenn Sie eine `README.md` Datei einschließen, wird der Inhalt der Datei automatisch unten auf der **Codeseite** für Ihr Repository in der CodeCommit Konsole angezeigt.

1. Führen Sie am Terminal oder in der Befehlszeile den Befehl **put-file** unter Angabe der folgenden Informationen aus:
   + Der Name des Repositorys, dem Sie die erste Datei hinzufügen möchten.
   + Der Name des Branches, den Sie als Standard-Branch erstellen möchten.
   + Der lokale Speicherort der Datei Die Syntax für diesen Standort hängt von Ihrem lokalen Betriebssystem ab.
   + Der Name der Datei, die Sie hinzufügen möchten, einschließlich des Pfads, in dem die aktualisierte Datei im Repository gespeichert ist.
   + Der Benutzername und die E-Mail-Adresse, die Sie dieser Datei zuordnen möchten.
   + Eine Commit-Nachricht, die erklärt, warum Sie diese Datei hinzugefügt haben

   Der Benutzername, die E-Mail-Adresse und die Commit-Nachricht sind optional, können aber anderen Benutzern helfen, zu erfahren, wer die Änderung vorgenommen hat und warum. Wenn Sie keinen Benutzernamen angeben, wird CodeCommit standardmäßig Ihr IAM-Benutzername oder eine Ableitung Ihres Konsolen-Logins als Autorenname verwendet.

   Um beispielsweise eine Datei *README.md* mit dem Namen Base-6-codierten Dateiinhalt zu einem Repository hinzuzufügen, das nach einem Branch namens benannt *MyDemoRepo* ist: *development*

   ```
   aws codecommit put-file --repository-name MyDemoRepo --branch-name development --file-path README.md --file-content "EXAMPLE0123456789example0123456789EXAMPLE1" --name "Mary Major" --email "mary_major@example.com" --commit-message "I added a quick readme for our new team repository."
   ```

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

   ```
   {
       "commitId": "724caa36EXAMPLE",
       "blobId": "a8a94062EXAMPLE",
       "treeId": "08b2fc73EXAMPLE"
   }
   ```

## Einen Commit mit einem Git-Client erstellen
<a name="how-to-create-commit-git"></a>

Du kannst Commits mit einem Git-Client erstellen, der auf deinem lokalen Computer installiert ist, und diese Commits dann in dein CodeCommit Repository übertragen.

1. Sorgen Sie dafür, dass die Voraussetzungen erfüllt sind, einschließlich [Einrichtung ](setting-up.md).
**Wichtig**  
Wenn Sie die Einrichtung nicht abgeschlossen haben, können Sie mit Git weder eine Verbindung herstellen noch einen Commit für das Repository durchführen.

1. Vergewissern Sie sich, dass Sie den Commit für den richtigen Branch erstellen. Um eine Liste der verfügbaren Branches zu sehen und festzustellen, welchen Branch Sie derzeit verwenden, führen Sie **git branch** aus. Alle Branches werden angezeigt. Ihr aktueller Branch ist mit einem Sternchen (`*`) gekennzeichnet. Wenn Sie zu einem anderen Branch wechseln möchten, führen Sie **git checkout *branch-name*** aus. Wenn dies dein erster Commit ist, führe den **git config ** Befehl aus, um deinen Git-Client so zu konfigurieren, dass er einen ersten Branch mit dem Namen erstellt, den du für diesen Branch verwenden möchtest. Wenn du zum Beispiel möchtest, dass dein Standard-Branch den folgenden Namen hat*development*:

   ```
   git config --local init.defaultBranch development
   ```
**Tipp**  
Dieser Befehl ist nur in Git v.2.28 und höher verfügbar.  
Du kannst diesen Befehl auch ausführen, um deinen Standard-Branch-Namen **development** für alle neu erstellten Repositorys auf festzulegen:  

   ```
   git config --global init.defaultBranch development
   ```

1. Ändern Sie den Branch (z. B. durch Hinzufügen, Ändern oder Löschen einer Datei).

   Erstellen Sie beispielsweise im lokalen Repository eine Datei `bird.txt` mit dem folgenden Text:

   ```
   bird.txt
   --------
   Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.
   ```

1. Führen Sie **git status** aus. Die Befehlsausgabe sollte besagen, dass `bird.txt` noch in keinem schwebenden Commit enthalten ist:

   ```
   ...        
   Untracked files:
     (use "git add <file>..." to include in what will be committed)
           
           bird.txt
   ```

1. Führen Sie **git add bird.txt** aus, um die neue Datei in den schwebenden Commit aufzunehmen.

1. Wenn Sie den Befehl **git status** erneut ausführen, sollte die Befehlsausgabe der folgenden ähneln. Damit wird angegeben, dass `bird.txt` nun zum schwebenden Commit gehört oder für den Commit bereitgestellt wird:

   ```
   ...
   Changes to be committed:
     (use "git reset HEAD <file>..." to unstage)
       
           new file:   bird.txt
   ```

1. Um den Commit abzuschließen, führen Sie **git commit** mit der Option `-m` aus (z. B. ** git commit -m "*Adding bird.txt to the repository.*"**). Mit der Option `-m` wird die Commit-Nachricht erstellt. 

1. Wenn Sie den Befehl **git status** erneut ausführen, sollte die Befehlsausgabe der folgenden ähneln. Es zeigt an, dass der Commit bereit ist, vom lokalen Repo in das Repository übertragen zu werden: CodeCommit 

   ```
   ...    
   nothing to commit, working directory clean
   ```

1. Bevor Sie den finalisierten Commit vom lokalen Repo in das CodeCommit Projektarchiv übertragen, können Sie sehen, was Sie durch Ausführen übertragen. Dabei *remote-name* steht der Spitzname**git diff --stat *remote-name*/*branch-name***, den das lokale Repo für das CodeCommit Projektarchiv verwendet, und der Name des Branches, der verglichen werden *branch-name* soll.
**Tipp**  
Um den Remote-Namen zu erhalten, führen Sie **git remote** aus. Um eine Liste der Branch-Namen zu erhalten, führen Sie den Befehl **git branch** aus. Der aktuelle Branch ist mit einem Sternchen (`*`) gekennzeichnet. Sie können auch **git status** ausführen, um den aktuellen Branch-Namen abzurufen.
**Anmerkung**  
Wenn Sie das Repository geklont haben, *remote-name* ist das aus der Sicht des lokalen Repos nicht der Name des Repositorys. CodeCommit Wenn Sie ein Repository klonen, *remote-name* wird automatisch auf gesetzt. `origin` 

   Beispielsweise würde die Ausgabe von **git diff --stat origin/main** der folgenden gleichen:

   ```
   bird.txt | 1 +
   1 file changed, 1 insertion(+)
   ```

   Bei der Ausgabe wird davon ausgegangen, dass Sie das lokale Repository bereits mit dem CodeCommit Repository verbunden haben. (Detaillierte Anweisungen finden Sie unter [Herstellen einer Verbindung mit einem Repository](how-to-connect.md).)

1. Wenn Sie bereit sind, den Commit vom lokalen Repo in das CodeCommit Repository zu übertragen, führen Sie den Befehl aus. Dabei *remote-name* steht der Spitzname**git push *remote-name* *branch-name***, den das lokale Repo für das CodeCommit Repository verwendet, und *branch-name* ist der Name des Branches, der in das Repository übertragen werden soll. CodeCommit 

   Beispielsweise würde die Ausgabe von **git push origin main** der folgenden gleichen:

   Für HTTPS:

   ```
   Counting objects: 7, done.
   Delta compression using up to 4 threads.
   Compressing objects: 100% (4/4), done.
   Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.
   Total 5 (delta 2), reused 0 (delta 0)
   remote:
   To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
       b9e7aa6..3dbf4dd main -> main
   ```

   Für SSH:

   ```
   Counting objects: 7, done.
   Delta compression using up to 4 threads.
   Compressing objects: 100% (4/4), done.
   Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.
   Total 5 (delta 2), reused 0 (delta 0)
   remote:
   To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
       b9e7aa6..3dbf4dd main -> main
   ```
**Tipp**  
Wenn Sie dem Befehl **git push** die Option `-u` hinzufügen (z. B. **git push -u origin main**), müssen Sie künftig nur noch **git push** ausführen, da die Upstream-Nachverfolgungsdaten bereits festgelegt wurden. Führen Sie **git remote show *remote-name*** aus (z. B. **git remote show origin**), um Upstream-Nachverfolgungsdaten abzurufen.

Weitere Optionen findest du in deiner Git-Dokumentation.

## Erstelle einen Commit dem AWS CLI
<a name="how-to-create-commit-cli"></a>

Sie können den Befehl AWS CLI und den `create-commit` Befehl verwenden, um einen Commit für ein Repository an der Spitze eines bestimmten Branches zu erstellen. Sie können auch einen nicht referenzierten Mergecommit für die Zusammenführung von zwei Commit-Spezifizierern erstellen. Weitere Informationen finden Sie unter [Erstellen eines nicht referenzierten Commits](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). <a name="create-commit"></a>

**So erstellen Sie einen Commit**

1. Nehmen Sie auf dem lokalen Computer die Änderungen vor, die an das CodeCommit-Repository übertragen werden sollen.

1. Führen Sie am Terminal oder in der Befehlszeile den Befehl **create-commit** unter Angabe der folgenden Informationen aus:
   + Das Repository, an das Sie die Änderungen übertragen möchten.
   + Der Branch, an den Sie die Änderungen übertragen möchten.
   + Die vollständige Commit-ID des letzten an diesem Branch vorgenommenen Commits (auch als Spitzen- oder Head-Commit- oder übergeordnete Commit-ID bezeichnet).
   + Gibt an, ob leere Ordner beibehalten werden, wenn die von Ihnen vorgenommenen Änderungen den Inhalt dieser Ordner löschen. Der Standardwert ist "false".
   + Die Informationen zu den Dateien, die Sie hinzufügen, ändern oder löschen möchten.
   + Der Benutzername und die E-Mail-Adresse, die Sie mit diesen Änderungen verknüpfen möchten.
   + Eine Commit-Nachricht, die erklärt, warum Sie diese Änderungen vorgenommen haben.

   Der Benutzername, die E-Mail-Adresse und die Commit-Nachricht sind optional. Sie machen anderen Benutzern aber leichter verständlich, von wem die Änderungen aus welchem Grund vorgenommen wurden. Wenn Sie keinen Benutzernamen angeben, wird CodeCommit standardmäßig Ihr IAM-Benutzername oder eine Ableitung Ihres Konsolen-Logins als Autorenname verwendet.

   Zum Beispiel, um einen Commit für ein Repository zu erstellen, der eine `README.md` Datei zu einem *MyDemoRepo* im Branch benannten Repository hinzufügt. *main* Der Inhalt der Datei ist Base64 und lautet „Willkommen in unserem Team-Repository\$1“ :

   ```
   aws codecommit create-commit --repository-name MyDemoRepo --branch-name main --parent-commit-id 4c925148EXAMPLE --put-files "filePath=README.md,fileContent=V2VsY29tZSB0byBvdXIgdGVhbSByZXBvc2l0b3J5IQo="
   ```
**Tipp**  
Führen Sie den Befehl [get-branch](how-to-view-branch-details.md#how-to-view-branch-details-cli-details) aus, um die übergeordnete Commit-ID abzurufen.

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

   ```
   {
       "commitId": "4df8b524-EXAMPLE",
       "treeId": "55b57003-EXAMPLE",
       "filesAdded": [
           {
               "blobId": "5e1c309dEXAMPLE",
               "absolutePath": "meeting.md",
               "fileMode": "NORMAL"
           }
       ],
       "filesDeleted": [],
       "filesUpdated": []
   }
   ```

   Um einen Commit zu erstellen, der Änderungen an Dateien mit dem Namen *file1.py* und vornimmt*file2.txt*, eine Datei von *picture.png* bis *pictures* umbenennt *image1.png* und sie aus einem Verzeichnis mit dem Namen*images*, verschiebt und eine Datei löscht, die *ExampleSolution.py* in einem Repository benannt *MyDemoRepo* ist, *MyFeatureBranch* dessen neuester Commit die ID lautet: *4c925148EXAMPLE*

   ```
   aws codecommit create-commit --repository-name MyDemoRepo --branch-name MyFeatureBranch --parent-commit-id 4c925148EXAMPLE --author-name "Saanvi Sarkar"
    --email "saanvi_sarkar@example.com" --commit-message "I'm creating this commit to update a variable name in a number of files."
    --keep-empty-folders false  --put-files '{"filePath": "file1.py", "fileMode": "EXECUTABLE", "fileContent": "bucket_name = sys.argv[1] region = sys.argv[2]"}'
   '{"filePath": "file2.txt", "fileMode": "NORMAL", "fileContent": "//Adding a comment to explain the variable changes in file1.py"}' '{"filePath": "images/image1.png",
   "fileMode": "NORMAL", "sourceFile": {"filePath": "pictures/picture.png", "isMove": true}}' --delete-files filePath="ExampleSolution.py"
   ```
**Anmerkung**  
Die Syntax für das **--put-files** Segment hängt von Ihrem Betriebssystem ab. Das obige Beispiel ist für Linux-, MacOS- oder Unix-Benutzer und Windows-Benutzer mit einem Bash-Emulator optimiert. Windows-Benutzer in der Befehlszeile oder in Powershell sollten eine für diese Systeme geeignete Syntax verwenden.

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

   ```
   {
      "commitId": "317f8570EXAMPLE",
      "treeId": "347a3408EXAMPLE",
      "filesAdded": [
           {
           "absolutePath": "images/image1.png",
           "blobId": "d68ba6ccEXAMPLE",
           "fileMode": "NORMAL"
           }
       ],
       "filesUpdated": [
           {
           "absolutePath": "file1.py",
           "blobId": "0a4d55a8EXAMPLE",
           "fileMode": "EXECUTABLE"
           },
           {
           "absolutePath": "file2.txt",
           "blobId": "915766bbEXAMPLE",
           "fileMode": "NORMAL"
           }
       ],
       "filesDeleted": [
           {
           "absolutePath": "ExampleSolution.py",
           "blobId": "4f9cebe6aEXAMPLE",
           "fileMode": "EXECUTABLE"
           },
           {
           "absolutePath": "pictures/picture.png",
           "blobId": "fb12a539EXAMPLE",
           "fileMode": "NORMAL"
           }
       ]
   }
   ```