Envoyer les validations vers un dépôt Git supplémentaire - 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.

Envoyer les validations vers un dépôt Git supplémentaire

Vous pouvez configurer votre référentiel local pour transmettre des modifications vers deux référentiels distants. Par exemple, vous souhaiterez peut-être continuer à utiliser votre solution de référentiel Git existante tout en essayant AWS CodeCommit. Suivez ces étapes de base pour transférer les modifications apportées à votre dépôt local vers CodeCommit un dépôt Git distinct.

Astuce

Si vous n'avez pas de dépôt Git, vous pouvez en créer un vide sur un autre service, CodeCommit puis migrer votre CodeCommit dépôt vers celui-ci. Vous devez suivre des étapes similaires à celles de Migrer vers CodeCommit.

  1. Depuis l'invite de commande ou le terminal, basculez vers le répertoire de votre référentiel local et exécutez la commande git remote -v. Vous devez voir des résultats similaires à ce qui suit :

    Pour HTTPS :

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    Pour SSH :

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)
  2. Exécutez la git remote set-url --add --push origin git-repository-name commande où git-repository-name est le nom URL et le nom du dépôt Git dans lequel vous souhaitez héberger votre code. Cette commande modifie la destination de la transmission d'origin en ce référentiel Git.

    Note

    git remote set-url --add --pushremplace la valeur par défaut URL pour les push. Vous devez donc exécuter cette commande deux fois, comme indiqué dans les étapes suivantes.

    Par exemple, la commande suivante modifie le push d'origine en some-URL/MyDestinationRepo:

    git remote set-url --add --push origin some-URL/MyDestinationRepo

    Cette commande ne donne aucun résultat.

    Astuce

    Si vous effectuez un transfert vers un dépôt Git qui nécessite des informations d'identification, assurez-vous de configurer ces informations d'identification dans un assistant d'identification ou dans la configuration du some-URL ficelle. Sinon, les transmissions vers ce référentiel échouent.

  3. Exécutez à nouveau la commande git remote -v, ce qui doit créer une sortie similaire à ce qui suit :

    Pour HTTPS :

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)

    Pour SSH :

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)
  4. Ajoutez maintenant le CodeCommit référentiel. Exécutez git remote set-url --add --push origin à nouveau, cette fois avec le nom URL et le nom de votre CodeCommit dépôt.

    Par exemple, la commande suivante ajoute le push d'origine à https://git-codecom mit.us-east-2.amazonaws.com MyDemoRepo /v1/repos/ :

    Pour HTTPS :

    git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

    Pour SSH :

    git remote set-url --add --push origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

    Cette commande ne donne aucun résultat.

  5. Exécutez à nouveau la commande git remote -v, ce qui doit créer une sortie similaire à ce qui suit :

    Pour HTTPS :

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    Pour SSH :

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    Vous disposez désormais de deux référentiels Git comme destination pour vos push, mais vos push sont dirigés vers some-URL/MyDestinationRepo d'abord. Si la transmission vers ce référentiel échoue, vos validations ne sont transmises à aucun des deux référentiels.

    Astuce

    Si l'autre référentiel nécessite des informations d'identification que vous souhaitez saisir manuellement, pensez à modifier l'ordre des envois afin que vous passiez en CodeCommit premier. Exécutez git remote set-url --delete pour supprimer le référentiel qui est la première cible de la transmission, puis exécutez git remote set-url --add pour l'ajouter à nouveau afin qu'il devienne la deuxième cible de la transmission.

    Pour plus d'options, consultez votre documentation Git.

  6. Pour vérifier que les transmissions sont maintenant effectuées vers les deux référentiels distants, utilisez un éditeur de texte pour créer le fichier texte suivant dans votre référentiel local :

    bees.txt ------- Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.
  7. Exécutez git add pour effectuer une copie intermédiaire de la modification dans votre référentiel local :

    git add bees.txt
  8. Exécutez git commit pour valider la modification dans votre référentiel local :

    git commit -m "Added bees.txt"
  9. Pour transférer le commit du dépôt local vers vos référentiels distants, exécutez où git push -u remote-name branch-name remote-name est le surnom que le dépôt local utilise pour les référentiels distants et branch-name est le nom de la branche à envoyer au dépôt.

    Astuce

    Vous n'avez à utiliser l'option -u que la première fois que vous effectuez une transmission. Ensuite, les informations de suivi en amont sont définies.

    Par exemple, l'exécution de git push -u origin main montre que la transmission a été effectuée vers les deux référentiels distants dans les branches attendues, avec une sortie similaire à ce qui suit :

    Pour HTTPS :

    Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To some-URL/MyDestinationRepo a5ba4ed..250f6c3 main -> main Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 main -> main

    Pour SSH :

    Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To some-URL/MyDestinationRepo a5ba4ed..250f6c3 main -> main Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 main -> main

Pour plus d'options, consultez votre documentation Git.