でコミットを作成するAWS CodeCommit - AWS CodeCommit

でコミットを作成するAWS CodeCommit

Gitまたは AWS CLI コミットを CodeCommit リポジトリ。_が ローカル repo は CodeCommit リポジトリGit を使用して、 ローカル repo を CodeCommit リポジトリ. 直接 CodeCommit コンソール、を参照 ファイルの作成またはファイルの追加 AWS CodeCommit リポジトリ および ファイルの内容を AWS CodeCommit リポジトリ.

注記

_を使用する場合 AWS CLI最新バージョンがインストールされていることを確認し、 create-commit コマンド。

を使用してリポジトリの最初のコミットを作成します。 AWS CLI

以下を使用できます。 AWS CLI および put-file リポジトリに対して最初のコミットを作成するコマンド。使用 put-file は、空のリポジトリにファイルを追加する最初のコミットを作成し、指定した名前でブランチを作成します。新しいブランチをリポジトリのデフォルトブランチとして指定します。

注記

AWS CLI コマンドを CodeCommit で使用するには、AWS CLI をインストールします。詳細については、「コマンドラインリファレンス」を参照してください。

リポジトリに対して最初のコミットを作成するには、 AWS CLI

  1. ローカルコンピュータで、追加したいファイルを最初のファイルとして CodeCommit リポジトリ。一般的な慣行は、 README.md このリポジトリの目的を他のリポジトリユーザに説明するマークダウンファイル。を README.md ファイルでは、ファイルのコンテンツが コード リポジトリのページ CodeCommit コンソール。

  2. ターミナルまたはコマンドラインで、次を指定して、put-file コマンドを実行します。

    • 最初のファイルを追加するリポジトリの名前。

    • デフォルトブランチとして作成するブランチの名前。

    • ファイルのローカルの場所。この場所に使用される構文は、ローカルのオペレーティングシステムによって異なります。

    • 更新したファイルがリポジトリに保存されるパスを含む、追加するファイルの名前。

    • このファイルに関連付けるユーザー名と電子メール。

    • このファイルの追加理由を説明するコミットメッセージ。

    ユーザー名、電子メールアドレス、およびコミットメッセージはオプションですが、他のユーザーが変更を行ったユーザーとその理由を知るのに役立ちます。ユーザー名を指定しない場合は、 CodeCommit デフォルトは、 IAM ユーザー名、または作成者名としてのコンソールログインの派生。

    たとえば、README.md 「Welcome to our team repository!」の内容で というリポジトリに MyDemoRepo という名前のブランチに 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."

    成功すると、このコマンドは以下のような出力を返します。

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

Gitクライアントを使用してコミットを作成する

ローカルコンピュータにインストールされた Git クライアントを使用してコミットを作成してから、それらのコミットを CodeCommit リポジトリにプッシュできます。

  1. 前提条件 (例: ) を完了します。セットアップ .

    重要

    設定が完了していない場合は、Git を使用してリポジトリに対して接続やコミットを行うことはできません。

  2. 正しいブランチでコミットを作成していることを確認します。使用可能なブランチのリストを表示し、現在使用しているブランチを確認するには、次のコマンドを実行します。 git branch。 すべての分岐が表示されます。現在のブランチの横にはアスタリスク (*) が表示されます。別のブランチに切り替えるには、 を実行します。git checkout branch-name.

  3. ブランチに変更を加える (ファイルの追加、変更、削除など)。

    たとえば、 ローカル repo、という名前のファイルを作成します。 bird.txt 次のテキストで:

    bird.txt -------- Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.
  4. 実行 git statusが、 bird.txt はまだ保留中のコミットに含まれていません:

    ... Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt
  5. 実行 git add bird.txt 新しいファイルを保留中のコミットに含めます。

  6. 実行する場合 git status 繰り返しますが、次のような出力が表示されます。これは、 bird.txt は現在、保留中のコミットの一部か、コミットのステージです。

    ... Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: bird.txt
  7. コミットを完了するには、 git commit-m オプション(例: git commit -m "Adding bird.txt to the repository.") -m オプションはコミットメッセージを作成します。

  8. 実行する場合 git status 繰り返しますが、次のような出力が表示されます。これは、コミットが ローカル repo を CodeCommit リポジトリ:

    ... nothing to commit, working directory clean
  9. 確定した確定を ローカル repo を CodeCommit リポジトリ、ランニングすることで、何をプッシュしているかがわかります。 git diff --stat remote-name/branch-name、ここで remote-name ニックネームは ローカル repo の用途 CodeCommit リポジトリ および branch-name は、比較するブランチの名前です。

    ヒント

    ニックネームを取得するには、 git remote。 ブランチ名のリストを取得するには、次のコマンドを実行します。 git branch。 アスタリスク (*) が現在のブランチの横に表示されます。また、 git status 現在のブランチ名を取得します。

    注記

    リポジトリをクローンした場合は、 ローカル repo,remote-name は の名前ではありません CodeCommit リポジトリ. リポジトリを複製すると、remote-name 自動的に設定される origin.

    たとえば、git diff --stat origin/master では、以下のような出力が表示されます。

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

    出力は、すでに ローカル repo を CodeCommit リポジトリ. 手順については、「」を参照してください。リポジトリへの接続.)

  10. コミットを ローカル repo を CodeCommit リポジトリ、実行 git push remote-name branch-name、ここで remote-name ニックネームは ローカル repo の用途 CodeCommit リポジトリ および branch-name は、 CodeCommit リポジトリ.

    たとえば、 git push origin master を実行すると以下のような出力が表示されます。

    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 master -> master

    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 master -> master
    ヒント

    _を追加した場合 -u オプションから git push (例: git push -u origin master)、その後は、 git push アップストリーム追跡情報が設定されたため、将来は アップストリーム追跡情報を取得するには、 git remote show remote-name (例: git remote show origin)。

他のオプションについては、Git のドキュメントを参照してください。

を使用してコミットを作成します。 AWS CLI

以下を使用できます。 AWS CLI および create-commit 指定ブランチの先端にリポジトリのコミットを作成するコマンド。非参照のマージコミットを作成して、2 つのコミット識別子のマージ結果を表すこともできます。詳細については、以下を参照してください。 参照されていないコミットを作成します.

注記

AWS CLI コマンドを CodeCommit で使用するには、AWS CLI をインストールします。詳細については、「コマンドラインリファレンス」を参照してください。

コミットを作成するには

  1. ローカルコンピュータで、必要な変更を CodeCommit リポジトリに加えます。

  2. ターミナルまたはコマンドラインで、次を指定して、create-commit コマンドを実行します。

    • 変更を加えるリポジトリ。

    • 変更を加えるブランチ。

    • ブランチに作成された最新のコミットの完全なコミット ID (ヒント、ヘッドコミット、または親コミット ID とも呼ばれます)。

    • 行った変更によってそれらのフォルダの内容が削除された場合に、空のフォルダを保持するかどうか。デフォルトでは、この値は false に設定されます。

    • 追加、変更、または削除するファイルに関する情報。

    • これらの変更に関連付けるユーザー名および E メール。

    • これらの変更を加えた理由についての説明をするコミットメッセージ。

    ユーザー名、E メールアドレス、コミットメッセージはオプションですが、他のユーザーに変更者と変更の理由について理解してもらうために便利です。ユーザー名を指定しない場合は、 CodeCommit デフォルトは、 IAM ユーザー名、または作成者名としてのコンソールログインの派生。

    たとえば、 meeting.md ファイルからリポジトリへの MyDemoRepo 内。master ブランチ:

    aws codecommit create-commit --repository-name MyDemoRepo --branch-name master --parent-commit-id a4d4d5da-EXAMPLE --put-files "filePath=meeting.md,fileContent='We will use this file for meeting notes.'"

    成功すると、このコマンドは以下のような出力を返します。

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

    という名前のファイルを変更するコミットを作成するには file1.py および file2.py、からファイルの名前を変更します。picture.png to image1.png ディレクトリから移動し、pictures というディレクトリに images、および という名前のファイルを削除します。ExampleSolution.py リポジトリ内の MyDemoRepo という支店で MyFeatureBranch その最新のコミットのIDは 4c925148EXAMPLE:

    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"
    注記

    の構文 --put-files セグメントは、お使いのオペレーティングシステムによって若干異なります。上記の例は、Bash エミュレーターを持つ Linux, macOS, or Unix ユーザーと Windows ユーザー向けに最適化されています。コマンドラインあるいは Powersell の Windows ユーザーは、このシステムに適した構文を使用する必要があります。

    成功すると、このコマンドは以下のような出力を返します。

    { "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" } ] }