Erstellen eines Commit in AWS CodeCommit - AWS CodeCommit

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 eines Commit in AWS CodeCommit

Wenn Sie den ersten Commit für ein neues Repository erstellen, verwenden Sie die AWS CLI Befehle und put-file. Dadurch wird der erste Commit erstellt und Sie können die Standardverzweigung für Ihr neues Repository erstellen und angeben. Sie können Git oder verwendenAWS CLI, um einen Commit in einem CodeCommit Repository zu erstellen. Wenn das lokale Repo mit einem CodeCommit Repository verbunden ist, verwenden Sie Git, um den Commit vom lokalen Repo in das CodeCommit Repository zu übertragen. Informationen zum Erstellen eines Commit direkt in der CodeCommit Konsole finden Sie unter Erstellen oder Hinzufügen einer Datei zu einemAWS CodeCommitEndlager und Bearbeiten Sie den Inhalt einer Datei in einemAWS CodeCommit Repository.

Anmerkung

Als bewährte Methode empfehlen wir Ihnen, die neuesten unterstützten Versionen von AWS CLI, Git und anderer Software zu verwenden. Wenn Sie die verwendenAWS 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.

Erstellen des ersten Commit für ein Repository mithilfe der AWS CLI

Sie können die AWS CLI und den put-file Befehl verwenden, um Ihren ersten Commit für ein Repository zu erstellen. Mit put-file wird ein erster Commit erstellt, der Ihrem leeren Repository eine Datei hinzufügt, und es wird eine Verzweigung mit dem von Ihnen angegebenen Namen erstellt. Es bezeichnet den neuen Zweig als Standardzweig für Ihr Repository.

Anmerkung

Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie die AWS CLI. Weitere Informationen finden Sie unter Befehlszeilenreferenz.

So erstellen Sie den ersten Commit für ein Repository mithilfe der AWS CLI

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

  2. Führen Sie am Terminal oder in der Befehlszeile den Befehl put-file unter Angabe der folgenden Informationen aus:

    • Der Name des Repositorys, in das Sie die erste Datei hinzufügen möchten.

    • Der Name der Verzweigung, die Sie als Standardverzweigung 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 wissen, wer die Änderung vorgenommen hat und warum. Wenn Sie keinen Benutzernamen angeben, verwendet CodeCommit standardmäßig Ihren IAM-Benutzernamen oder eine Ableitung Ihrer Konsolenanmeldung als Autorennamen.

    Um beispielsweise eine Datei mit dem Namen README.md mit dem Inhalt „Willkommen in unserem Team-Repository!“ hinzuzufügen in ein Repository mit dem Namen MyDemoRepo in einem Zweig mit dem Namen development :

    aws codecommit put-file --repository-name MyDemoRepo --branch-name development --file-path README.md --file-content "Welcome to our team repository!" --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" }

Erstellen eines Commit mit einem Git-Client

Sie können Commits mit einem auf Ihrem lokalen Computer installierten Git-Client erstellen und diese Commits dann in Ihr CodeCommit Repository übertragen.

  1. Sorgen Sie dafür, dass die Voraussetzungen erfüllt sind, einschließlich Einrichtung .

    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.

  2. 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 Ihr erster Commit ist, führen Sie den git config Befehl aus, um Ihren Git-Client so zu konfigurieren, dass er eine erste Verzweigung mit dem Namen erstellt, den Sie für diese Verzweigung verwenden möchten. Wenn Sie beispielsweise möchten, dass Ihr Standardzweig die Namensentwicklung hat:

    git config --local init.defaultBranch development
    Tipp

    Dieser Befehl ist nur in Git v.2.28 und höher verfügbar.

    Sie können diesen Befehl auch ausführen, um Ihren Standardzweignamen development für alle neu erstellten Repositorys auf festzulegen:

    git config --global init.defaultBranch development
  3. Ändern Sie den Branch (z. B. durch Hinzufügen, Ändern oder Löschen einer Datei).

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

    bird.txt -------- Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.
  4. 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
  5. Führen Sie git add bird.txt aus, um die neue Datei in den schwebenden Commit aufzunehmen.

  6. 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
  7. 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.

  8. 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 Repository in das CodeCommit Repository übertragen zu werden:

    ... nothing to commit, working directory clean
  9. Bevor Sie den endgültigen Commit vom lokalen Repository in das CodeCommit Repository übertragen, können Sie sehen, was Sie übertragen, indem Sie ausführengit diff --stat remote-name/branch-name, wobei remote-name der Spitzname ist, den das lokale Repository für das CodeCommit Repository verwendet, und branch-name der Name der zu vergleichenden Verzweigung ist.

    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, ist aus Sicht des lokalen Repositorys remote-name nicht der Name des CodeCommit Repositorys. Beim Klonen eines Repositorys wird remote-name automatisch auf origin festgelegt.

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

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

    Die Ausgabe setzt voraus, dass Sie das lokale Repository bereits mit dem CodeCommit Repository verbunden haben. (Detaillierte Anweisungen finden Sie unter Herstellen einer Verbindung mit einem Repository.)

  10. Wenn Sie bereit sind, den Commit vom lokalen Repo in das CodeCommit Repository zu übertragen, führen Sie aus, wobei remote-name der Spitzname istgit push remote-name branch-name, den das lokale Repo für das CodeCommit Repository verwendet, und branch-name der Name der Verzweigung ist, die in das CodeCommit Repository übertragen werden soll.

    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 finden Sie in Ihrer Git-Dokumentation.

Erstellen eines Commit mit der AWS CLI

Sie können mithilfe der AWS CLI und des Befehls create-commit einen Commit für ein Repository an der Spitze eines angegebenen Branches 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.

Anmerkung

Um AWS CLI Befehle mit zu verwenden CodeCommit, installieren Sie die AWS CLI. Weitere Informationen finden Sie unter Befehlszeilenreferenz.

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

  2. 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, verwendet CodeCommit standardmäßig Ihren IAM-Benutzernamen oder eine Ableitung Ihrer Konsolenanmeldung als Autorennamen.

    Zum Beispiel, um einen Commit für ein Repository zu erstellen, das eine README.md Datei zu einem Repository mit dem Namen MyDemoRepo im Hauptzweig hinzufügt. Der Inhalt der Datei befindet sich in Base64 und lautet „Willkommen in unserem Team-Repository!“:

    aws codecommit create-commit --repository-name MyDemoRepo --branch-name main --parent-commit-id 4c925148EXAMPLE --put-files "filePath=README.md,fileContent=V2VsY29tZSB0byBvdXIgdGVhbSByZXBvc2l0b3J5IQo="
    Tipp

    Um die übergeordnete Commit-ID zu erhalten, führen Sie den Befehl get-branch aus.

    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 file2.txt vornimmt, benennt eine Datei von Bild.png in Bild1.png um und verschiebt sie aus einem Verzeichnis mit dem Namen Bilder in ein Verzeichnis mit dem Namen ExampleSolution.py in einem Repository mit MyDemoRepo dem Namen in einem Zweig mit dem Namen , MyFeatureBranch dessen letzter Commit die ID 4c925148EXAMPLE hat:

    aws codecommit create-commit --repository-name MyDemoRepo --branch-name MyFeatureBranch --parent-commit-id 4c925148EXAMPLE --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 variiert je nach Betriebssystem. 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" } ] }