Confirmações de push em um repositório do Git adicional - AWS CodeCommit

O AWS CodeCommit não está mais disponível para novos clientes. Os clientes atuais do AWS CodeCommit podem continuar usando o serviço normalmente. Saiba mais"

Confirmações de push em um repositório do Git adicional

Você pode configurar seu repositório local para enviar alterações por push a dois repositórios remotos. Por exemplo, talvez você precise continuar usando sua solução existente de repositório do Git enquanto experimenta o AWS CodeCommit. Siga estas etapas básicas para enviar alterações via push no repositório local para o CodeCommit e um repositório do Git separado.

dica

Se você não tiver um repositório do Git, poderá criar um vazio em um serviço diferente do CodeCommit e depois migrar o repositório do CodeCommit para ele. Você deve seguir etapas semelhantes às descritas em Migrar para o CodeCommit.

  1. No terminal ou no prompt de comando, mude para o diretório do repositório local e execute o comando git remote -v. Você deve ver uma saída semelhante a:

    Para 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)

    Para o 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. Execute o comando git remote set-url --add --push origin git-repository-name onde git-repository-name é a URL e nome do repositório Git repository onde deseja hospedar seu código. Isso altera o destino do push de origin para esse repositório Git.

    nota

    git remote set-url --add --push substitui o URL padrão para pushes, por isso, você deve executar esse comando duas vezes, como será demonstrado em etapas posteriores.

    Por exemplo, o comando a seguir altera o push de origem para some-URL/MyDestinationRepo:

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

    Esse comando não retorna nada.

    dica

    Se você estiver enviando por push para um repositório Git que exija credenciais, configure as credenciais em um assistente de credenciais ou na configuração da string some-URL. Caso contrário, as operações de envio para esse repositório falharão.

  3. Execute o comando git remote -v novamente, o que deve criar uma saída semelhante a:

    Para HTTPS:

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

    Para o SSH:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)
  4. Agora, adicione o repositório do CodeCommit. Execute git remote set-url --add --push origin novamente, desta vez com a URL e o nome do repositório do CodeCommit.

    Por exemplo, o comando a seguir adiciona o push de origem para https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo:

    Para HTTPS:

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

    Para o SSH:

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

    Esse comando não retorna nada.

  5. Execute o comando git remote -v novamente, o que deve criar uma saída semelhante a:

    Para 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)

    Para o 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)

    Você agora tem dois repositórios do Git como o destino para seus pushes, mas os pushes vão primeiro parasome-URL/MyDestinationRepo. Se o push ao repositório falhar, suas confirmações não serão enviadas por push para nenhum dos repositórios.

    dica

    Se o outro repositório requer credenciais que você deseja inserir manualmente, considere alterar a ordem dos pushes para que você envie via push primeiro para o CodeCommit. Execute git remote set-url --delete para excluir o repositório para onde o push foi enviado primeiro e, depois, execute git remote set-url --add para adicioná-lo novamente para que se torne o segundo destino do push na lista.

    Para obter mais opções, consulte a documentação do Git.

  6. Para verificar se você agora está enviando por push para ambos os repositórios remotos, use um editor de texto para criar o seguinte arquivo de texto no repositório 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. Execute git add para preparar a alteração no repositório local:

    git add bees.txt
  8. Execute git commit para confirmar a alteração no repositório local:

    git commit -m "Added bees.txt"
  9. Para enviar por push a confirmação do repositório local para repositórios remotos, execute git push -u remote-name branch-name em que remote-name é o apelido de usuário que o repositório local usa para os repositórios remotos e branch-name é o nome da filial que deve ser enviado por push para o repositório.

    dica

    Você só precisa usar a opção -u na primeira vez em que você enviar por push. Em seguida, as informações de rastreamento upstream são definidas.

    Por exemplo, executar git push -u origin main mostraria que o push foi enviado aos dois repositórios remotos nas ramificações esperadas, com uma saída semelhante a:

    Para 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

    Para o 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

Para obter mais opções, consulte a documentação do Git.