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, consultez 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 dans un référentiel nommé MyDemoRepo vers une succursale 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 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 référentiel, 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 est 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, remote-name n'est pas le nom du CodeCommit dépôt. Lorsque vous clonez un dépôt, remote-name est défini automatiquement 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 référentiel, exécutezgit push 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 est le nom de la branche à envoyer au CodeCommit dépôt.

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

    Pour 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

    Pour 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 CodeCommit référentiel.

  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 référentiel qui ajoute un README.md fichier à un référentiel nommé MyDemoRepo dans le 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 and file2.txt, renomme un fichier depuis picture.png to image1.png et le déplace depuis un répertoire nommé pictures dans un répertoire nommé, images, et supprime un fichier nommé ExampleSolution.py dans un dépôt nommé MyDemoRepo sur une branche nommée MyFeatureBranch dont le commit le plus récent a un ID de 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" } ] }