

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Clonar um repositório Git existente em um repositório de origem
<a name="source-repositories-add-existing"></a>

Você pode clonar um repositório Git existente em um repositório de origem vazio na Amazon. CodeCatalyst Essa é uma maneira rápida de começar a usar o código que estava hospedado anteriormente em outro provedor de repositório Git. CodeCatalyst Você pode clonar o conteúdo do repositório criando um clone espelhado e, em seguida, empurrando o espelho para. CodeCatalyst Como alternativa, se você tiver um repositório local do repositório cujo conteúdo deseja adicionar CodeCatalyst, poderá adicionar o repositório de CodeCatalyst origem como outro remoto ao repositório local e, em seguida, enviar para o repositório de origem vazio. As duas abordagens são igualmente válidas. Usar um clone espelho não apenas mapeia ramificações, como também todas as referências. É uma maneira simples e limpa de criar uma cópia funcional do repositório em CodeCatalyst. Adicionar um controle remoto a um repositório local que aponta para um repositório de CodeCatalyst origem vazio adicionará o conteúdo do repositório CodeCatalyst, mas também permitirá que você faça envios do repositório local para o repositório de CodeCatalyst origem e para o repositório remoto Git original. Isso pode ser útil se você quiser manter o código em diferentes repositórios remotos, mas pode gerar conflitos se outros desenvolvedores estiverem confirmando o código para apenas um dos remotos. 

Os procedimentos a seguir usam comandos básicos do Git para realizar essa tarefa. Há muitas formas de realizar tarefas no Git, incluindo clonar. Para ter mais informações, consulte a [documentação do Git](https://git-scm.com/docs/git-clone).

**Importante**  
Você deve criar um repositório vazio CodeCatalyst antes de poder clonar conteúdo nele. Também é necessário ter um token de acesso pessoal. Para obter mais informações, consulte [Como criar um repositório de origem vazio](source-repositories-create.md#source-repositories-create-empty) e [Criar um token de acesso pessoal](source-setting-up.md#source-setting-up-pat).<a name="source-repositories-clone-exisitng-git-mirror"></a>

**Para usar `git clone --mirror` para clonar um repositório Git existente em CodeCatalyst**

1. No CodeCatalyst console, navegue até o projeto em que você criou um repositório vazio.

1. Na página de resumo do seu projeto, selecione o repositório vazio na lista e, depois, selecione **Visualizar repositório**. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**. Selecione o nome do repositório vazio na lista de repositórios de origem do projeto. 

1. Copie o URL do clone HTTPS do repositório vazio. Você precisará dele para enviar o clone espelho. Por exemplo, se você nomeou o repositório de origem MyExampleRepo no MyExampleProject projeto no ExampleCorp espaço e seu nome de usuário é LiJuan, sua URL de clone pode ter a seguinte aparência:

   ```
   https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
   ```

1. Em uma linha de comando ou janela de terminal, use o `git clone --mirror` comando para criar um clone espelho do repositório Git no qual você deseja clonar. CodeCatalyst Por exemplo, se você quiser criar um clone espelho do repositório codecatalyst-blueprints em, insira o seguinte comando: GitHub

   ```
   git clone --mirror https://github.com/aws/codecatalyst-blueprints.git
   ```

1. Altere os diretórios para o diretório onde você criou o clone.

   ```
   cd codecatalyst-blueprints.git
   ```

1. Execute o **git push** comando, especificando a URL e o nome do repositório de CodeCatalyst origem de destino e a **--all** opção. (Este é o URL que você copiou na Etapa 3.) Por exemplo: 

   ```
   git push https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo --all
   ```<a name="source-repositories-clone-local-repo"></a>

**Para adicionar um controle remoto e enviar um repositório local para CodeCatalyst**

1. No CodeCatalyst console, navegue até o projeto em que você criou um repositório vazio.

1. Na página de resumo do seu projeto, selecione o repositório vazio na lista e, depois, selecione **Visualizar repositório**. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**. Selecione o nome do repositório vazio na lista de repositórios de origem do projeto. 

1. Copie o URL do clone HTTPS do repositório vazio. Você precisará dele para enviar o clone espelho. Por exemplo, se você nomeou o repositório de origem MyExampleRepo no MyExampleProject projeto no ExampleCorp espaço e seu nome de usuário é LiJuan, sua URL de clone pode ter a seguinte aparência:

   ```
   https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
   ```

1. Em uma linha de comando ou janela de terminal, altere os diretórios para o repositório local para o qual você deseja enviar. CodeCatalyst 

1. Execute o comando git remote -v para ver os repositórios remotos existentes no repositório local. Por exemplo, se você estiver clonando um repositório local de um repositório AWS CodeCommit nomeado **MyDemoRepo** na região Leste dos EUA (Ohio), a saída do comando pode ser parecida com:

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

   Copie o URL remoto se quiser continuar usando o repositório.

1. Use o `git remote remove` comando para remover o CodeCommit repositório URLs para busca e envio para origem:

   ```
   git remote remove origin
   ```

1. Use o comando **git remote add** para adicionar a URL do repositório de CodeCatalyst origem como o controle remoto de busca e push para seu repositório local. Por exemplo:

   ```
   git remote add origin https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
   ```

   Isso substitui o URL push do CodeCommit repositório pelo URL do repositório de CodeCatalyst origem, mas não altera o URL de busca. Portanto, se você executar o comando git remote -v novamente, verá que agora está retirando (buscando) o código do repositório CodeCommit remoto, mas está configurado para enviar as alterações do seu repositório local para o repositório de origem: CodeCatalyst 

   ```
   origin  https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)
   origin  https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo (push)
   ```

   Opcionalmente, você pode adicionar novamente a URL CodeCommit remota se quiser enviar para os dois repositórios com o `git remote set-url` comando:

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

1. Execute o comando `git push` para enviar o repositório local para todos os repositórios remotos de envio configurados. Você também pode executar o comando **git push -u -origin**, especificando a opção **--all** de enviar o repositório local para ambos os repositórios. Por exemplo: 

   ```
   git push -u -origin --all
   ```

**dica**  
Dependendo da sua versão do Git, --all pode não funcionar para enviar todas as ramificações do repositório local para o repositório vazio. Talvez seja necessário conferir e enviar cada ramificação separadamente.