Créez un commit dans AWS CodeCommit - AWS CodeCommit

AWS CodeCommit n'est plus disponible pour les nouveaux clients. Les clients existants de AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus »

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez un commit dans AWS CodeCommit

Lorsque vous créez le premier commit pour un nouveau dépôt, vous utilisez la AWS CLI put-file commande and. Cela crée le premier commit et vous permet de créer et de spécifier la branche par défaut pour votre nouveau dépôt. Vous pouvez utiliser Git ou le AWS CLI pour créer un commit dans un CodeCommit dépôt. Si le dépôt local est connecté à un CodeCommit dépôt, vous utilisez Git pour transférer le commit du dépôt local vers le CodeCommit dépôt. Pour créer un commit directement dans la CodeCommit console, reportez-vous aux sections Création ou ajout d'un fichier à unAWS CodeCommitréférentiel etModifier le contenu d'un fichier dans unAWS CodeCommit référentiel.

Note

En tant que bonne pratique, nous vous recommandons d'utiliser les dernières versions prises en charge de AWS CLI Git et d'autres logiciels. Si vous utilisez le AWS CLI, assurez-vous qu'une version récente est installée pour vous assurer que vous utilisez une version contenant la create-commit commande.

Créez le premier commit pour un dépôt à l'aide du AWS CLI

Vous pouvez utiliser la AWS CLI put-file commande and pour créer votre premier commit pour un dépôt. L'utilisation put-file crée un premier commit qui ajoute un fichier à votre dépôt vide et crée une branche portant le nom que vous spécifiez. Il désigne la nouvelle branche comme branche par défaut de votre dépôt.

Note

Pour utiliser AWS CLI des commandes avec CodeCommit, installez le AWS CLI. Pour de plus amples informations, veuillez consulter Référence des commandes en ligne.

Pour créer le premier commit pour un dépôt à l'aide du AWS CLI

  1. Sur votre ordinateur local, créez le fichier que vous souhaitez ajouter en tant que premier fichier au CodeCommit référentiel. Une pratique courante consiste à créer un fichier README.md Markdown qui explique l'objectif de ce dépôt aux autres utilisateurs du référentiel. Si vous incluez un README.md fichier, son contenu s'affiche automatiquement en bas de la page de code de votre référentiel dans la CodeCommit console.

  2. Depuis le terminal ou la ligne de commande, exécutez la commande put-file, en spécifiant :

    • Nom du référentiel dans lequel vous souhaitez ajouter le premier fichier.

    • Nom de la branche que vous souhaitez créer comme branche par défaut.

    • L'emplacement local du fichier. La syntaxe utilisée pour cet emplacement varie en fonction de votre système d'exploitation local.

    • Le nom du fichier que vous souhaitez ajouter, y compris le chemin où le fichier mis à jour est stocké dans le référentiel.

    • Nom d'utilisateur et e-mail que vous souhaitez associer à ce fichier.

    • Un message de validation qui explique pourquoi vous avez ajouté ce fichier.

    Le nom d'utilisateur, l'adresse e-mail et le message de validation sont facultatifs, mais peuvent aider les autres utilisateurs à savoir qui a effectué la modification et pourquoi. Si vous ne fournissez pas de nom d'utilisateur, utilisez CodeCommit par défaut votre nom IAM d'utilisateur ou une dérivation de votre identifiant de connexion à la console comme nom d'auteur.

    Par exemple, pour ajouter un fichier nommé README.md avec un exemple de contenu de fichier codé en base 6 à un référentiel nommé MyDemoRepo d'après une branche nommée 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."

    Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

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

Création d'un commit à l'aide d'un client Git

Vous pouvez créer des validations à l'aide d'un client Git installé sur votre ordinateur local, puis transférer ces validations vers votre CodeCommit dépôt.

  1. Remplissez les prérequis, y compris Configuration .

    Important

    Si vous n'avez pas terminé la configuration, vous ne pouvez pas vous connecter au référentiel ou valider dans celui-ci à l'aide de Git.

  2. Veillez à créer une validation dans la branche correcte. Pour afficher la liste des branches disponibles et déterminer quelle branche vous utilisez actuellement, exécutez git branch. Toutes les branches sont affichées. Un astérisque (*) apparaît à côté de votre branche actuelle. Pour basculer vers une autre branche, exécutez git checkout branch-name. S'il s'agit de votre premier commit, exécutez la git config commande pour configurer votre client Git afin de créer une branche initiale portant le nom que vous souhaitez utiliser pour cette branche. Par exemple, si vous souhaitez que votre branche par défaut porte le nom suivant development :

    git config --local init.defaultBranch development
    Astuce

    Cette commande n'est disponible que dans Git v.2.28 et versions ultérieures.

    Vous pouvez également exécuter cette commande pour définir le nom de votre branche par défaut development pour tous les référentiels nouvellement créés :

    git config --global init.defaultBranch development
  3. Apportez une modification à la branche (par exemple, ajoutez, modifiez ou supprimez un fichier).

    Par exemple, dans le dépôt local, créez un fichier nommé bird.txt avec le texte suivant :

    bird.txt -------- Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.
  4. Exécutez git status qui doit indiquer que bird.txt n'a pas encore été inclus dans une validation en attente :

    ... Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt
  5. Exécutez git add bird.txt pour inclure le nouveau fichier dans la validation en attente.

  6. Si vous exécutez à nouveau git status, vous devez voir une sortie similaire à ce qui suit. Elle indique que bird.txt fait désormais partie de la validation en attente ou a fait l'objet d'une copie intermédiaire pour validation :

    ... Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: bird.txt
  7. Pour finaliser la validation, exécutez git commit avec l'option -m (par exemple, git commit -m "Adding bird.txt to the repository."). L'option -m crée le message de validation.

  8. Si vous exécutez à nouveau git status, vous devez voir une sortie similaire à ce qui suit. Cela indique que le commit est prêt à être transféré du dépôt local vers le CodeCommit référentiel :

    ... nothing to commit, working directory clean
  9. Avant de transférer le commit finalisé du dépôt local vers le CodeCommit dépôt, vous pouvez voir ce que vous envoyez en exécutantgit diff --stat remote-name/branch-name, où remote-name est le surnom que le dépôt local utilise pour le CodeCommit dépôt et branch-name le nom de la branche à comparer.

    Astuce

    Pour obtenir le pseudonyme, exécutez git remote. Pour obtenir une liste de noms de branche, exécutez git branch. Un astérisque (*) apparaît à côté de la branche actuelle. Vous pouvez également exécuter git status pour obtenir le nom de la branche actuelle.

    Note

    Si vous avez cloné le dépôt, du point de vue du dépôt local, ce n'remote-nameest pas le nom du CodeCommit dépôt. Lorsque vous clonez un dépôt, remote-name il est automatiquement défini surorigin.

    Par exemple, git diff --stat origin/main affiche une sortie similaire à ce qui suit :

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

    La sortie suppose que vous avez déjà connecté le dépôt local au CodeCommit référentiel. (Pour obtenir des instructions, consultez Connexion à un référentiel.)

  10. Lorsque vous êtes prêt à transférer le commit du dépôt local vers le CodeCommit dépôt, exécutezgit push remote-name branch-name, où remote-name sont le surnom que le dépôt local utilise pour le CodeCommit dépôt et branch-name le nom de la branche à transférer vers le CodeCommit référentiel.

    Par exemple, exécuter git push origin main affiche une sortie similaire à ce qui suit :

    Dans 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

    Dans 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
    Astuce

    Si vous ajoutez l'option -u à git push (par exemple, git push -u origin main), vous devez ensuite uniquement exécuter git push à l'avenir, car les informations de suivi en amont ont été configurées. Pour obtenir des informations de suivi en amont, exécutez git remote show remote-name (par exemple, git remote show origin).

Pour plus d'options, consultez votre documentation Git.

Créez un commit à l'aide du AWS CLI

Vous pouvez utiliser la AWS CLI create-commit commande and pour créer un commit pour un dépôt situé à l'extrémité d'une branche spécifiée. Vous pouvez également créer une validation de fusion non référencée pour représenter les résultats de la fusion de deux spécificateurs de validation. Pour plus d'informations, consultez Créer une validation non référencée.

Note

Pour utiliser AWS CLI des commandes avec CodeCommit, installez le AWS CLI. Pour de plus amples informations, veuillez consulter Référence des commandes en ligne.

Pour créer une validation
  1. Sur votre ordinateur local, apportez les modifications que vous souhaitez valider dans le référentiel CodeCommit.

  2. Depuis le terminal ou la ligne de commande, exécutez la commande create-commit, en spécifiant :

    • Le référentiel dans lequel vous souhaitez valider les modifications.

    • La branchez où vous souhaitez valider les modifications.

    • L'ID de validation complet de la validation la plus récente effectuée dans cette branche, également connu comme la pointe ou la validation de tête ou l'ID de validation parent.

    • Conserver ou non des dossiers vides si les modifications que vous avez effectuées suppriment le contenu de ces dossiers. Par défaut, la valeur est false (fausse).

    • Les informations sur les fichiers que vous souhaitez ajouter, modifier ou supprimer.

    • Le nom d'utilisateur et l'adresse e-mail que vous souhaitez associer à ces modifications.

    • Un message de validation qui explique pourquoi vous avez apporté ces modifications.

    Le nom d'utilisateur, l'adresse e-mail et le message de validation sont facultatifs mais aident les autres utilisateurs à savoir qui a effectué les modifications et pourquoi. Si vous ne fournissez pas de nom d'utilisateur, utilisez CodeCommit par défaut votre nom IAM d'utilisateur ou une dérivation de votre identifiant de connexion à la console comme nom d'auteur.

    Par exemple, pour créer un commit pour un dépôt qui ajoute un README.md fichier à un dépôt nommé MyDemoRepo dans la main branche. Le contenu du fichier est en Base64 et se lit comme suit : « Bienvenue dans le référentiel de notre équipe ! » :

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

    Pour obtenir l'ID de validation parent, exécutez la commande get-branch.

    Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

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

    Pour créer un commit qui apporte des modifications aux fichiers nommés file1.py etfile2.txt, renomme un fichier de picture.png à image1.png et le déplace d'un répertoire nommé pictures vers un répertoire nomméimages, et supprime un fichier nommé ExampleSolution.py dans un référentiel nommé MyDemoRepo sur une branche nommée MyFeatureBranch dont le dernier commit a l'ID : 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"
    Note

    La syntaxe du --put-files segment varie en fonction de votre système d'exploitation. L'exemple ci-dessus est optimisé pour les utilisateurs de Linux, macOS ou Unix et les utilisateurs de Windows utilisant un émulateur Bash. Les utilisateurs Windows en ligne de commande ou dans Powershell doivent utiliser une syntaxe approprié pour ces systèmes.

    Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

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