

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á.

# Começando com o Git e AWS CodeCommit
<a name="getting-started"></a>

Se você é iniciante no Git CodeCommit, este tutorial ajuda você a aprender alguns comandos simples para começar. Se você já está familiarizado com o Git, pode pular este tutorial e ir para [Começando com CodeCommit ](getting-started-cc.md).

Neste tutorial, você cria um repositório que representa uma cópia local do CodeCommit repositório, que chamamos de repositório local. 

Depois de criar o repositório local, você fará algumas alterações nele. Em seguida, você envia (envia) suas alterações para o CodeCommit repositório.

Você também simula um ambiente de equipe em que dois usuários confirmam as alterações de forma independente no repositório local e enviam essas alterações para o CodeCommit repositório. Em seguida, os usuários puxam as alterações do CodeCommit repositório para seu próprio repositório local para ver as alterações feitas pelo outro usuário.

Você também cria ramificações e tags e gerencia algumas permissões de acesso no CodeCommit repositório. 

Depois de concluir este tutorial, você terá praticado o suficiente com os principais conceitos do Git e do CodeCommit para usá-los em seus próprios projetos. 

Conclua os [pré-requisitos e a configuração](setting-up.md), incluindo:
+ Atribua permissões ao usuário do IAM.
+ Configure CodeCommit para se conectar a um repositório usando [HTTPS](setting-up-gc.md), SSH ou. [**git-remote-codecommit**](setting-up-git-remote-codecommit.md) Para obter mais informações sobre essas opções, consulte [Configuração do AWS CodeCommit](setting-up.md).
+ Configure o AWS CLI se quiser usar a linha de comando ou o terminal para todas as operações, incluindo a criação do repositório.

**Topics**
+ [

## Etapa 1: criar um CodeCommit repositório
](#getting-started-create-repo)
+ [

## Etapa 2: criação de um repositório local
](#getting-started-set-up-folders)
+ [

## Etapa 3: criar sua primeira confirmação
](#getting-started-create-commit)
+ [

## Etapa 4: enviar sua primeira confirmação via push
](#getting-started-init-repo)
+ [

## Etapa 5: compartilhar o CodeCommit repositório e enviar e receber outro commit
](#getting-started-pull-commits)
+ [

## Etapa 6: criar e compartilhar uma ramificação
](#getting-started-branching)
+ [

## Etapa 7: criar e compartilhar uma tag
](#getting-started-tags)
+ [

## Etapa 8: configurar permissões de acesso
](#getting-started-permissions)
+ [

## Etapa 9: limpar
](#getting-started-clean-up)

## Etapa 1: criar um CodeCommit repositório
<a name="getting-started-create-repo"></a>

Nesta etapa, você usa o CodeCommit console para criar o repositório. 

Você pode pular essa etapa se já tiver um CodeCommit repositório que queira usar. 

**nota**  
Dependendo do seu uso, você poderá ser cobrado pela criação ou acesso a um repositório. Para obter mais informações, consulte [Preços](https://aws.amazon.com/codecommit/pricing) na página de informações CodeCommit do produto.

**Para criar o CodeCommit repositório**

1. Abra o CodeCommit console em [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Use o seletor de região para escolher Região da AWS onde você deseja criar o repositório. Para obter mais informações, consulte [Regiões e endpoints de conexão do Git](regions.md).

1. Na página **Repositories (Repositórios)**, selecione **Create repository (Criar repositório)**. 

1. Na página **Create repository (Criar repositório)**, em **Repository name (Nome do repositório)**, insira um nome para o repositório (por exemplo **MyDemoRepo**).
**nota**  
Os nomes de repositório diferenciam letras maiúsculas de minúsculas e não podem ter mais de 100 caracteres. Para saber mais, consulte [Limites](limits.md#limits-repository-names).

1. (Opcional) Em **Description (Descrição)**, insira uma descrição, (por exemplo, **My demonstration repository**). Isso pode ajudar você e outros usuários a identificar a finalidade do repositório.

1. (Opcional) Escolha **Adicionar tag** para adicionar uma ou mais tags de repositório (um rótulo de atributo personalizado que ajuda você a organizar e gerenciar seus AWS recursos) ao seu repositório. Para obter mais informações, consulte [Marcando repositórios em AWS CodeCommit](how-to-tag-repository.md).

1. (Opcional) Expanda **Configuração adicional** para especificar se você deseja usar a chave padrão Chave gerenciada pela AWS ou sua própria chave gerenciada pelo cliente para criptografar e descriptografar os dados nesse repositório. Se você optar por usar sua própria chave gerenciada pelo cliente, deverá garantir que ela esteja disponível no Região da AWS local em que você está criando o repositório e que a chave esteja ativa. Para obter mais informações, consulte [AWS Key Management Service e criptografia para AWS CodeCommit repositórios](encryption.md).

1. (Opcional) Selecione **Ativar Amazon CodeGuru Reviewer para Java e Python** se esse repositório contiver código Java ou Python e você quiser que o revisor analise esse código. CodeGuru CodeGuru O revisor usa vários modelos de aprendizado de máquina para encontrar defeitos no código e sugerir automaticamente melhorias e correções nas pull requests. Para obter mais informações, consulte o Guia do usuário do Amazon CodeGuru Reviewer.

1. Escolha **Criar**. 

**nota**  
As etapas restantes deste tutorial são usadas `MyDemoRepo` para o nome do CodeCommit repositório. Se você escolher um nome diferente, certifique-se de usá-lo durante todo este tutorial.

Para obter mais informações sobre a criação de repositórios, incluindo como criar um repositório do terminal ou da linha de comando, consulte [Criar um repositório](how-to-create-repository.md).

## Etapa 2: criação de um repositório local
<a name="getting-started-set-up-folders"></a>

Nesta etapa, você configurará um repositório local em sua máquina local para se conectar ao seu repositório. Para fazer isso, será preciso selecionar um diretório em sua máquina local que represente o repositório local. Você usa o Git para clonar e inicializar uma cópia do seu CodeCommit repositório vazio dentro desse diretório. Em seguida, você especificará o nome de usuário GIT e endereço de e-mail usados para anotar suas confirmações. 

1. Abra o CodeCommit console em [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. No seletor de região, escolha Região da AWS onde o repositório foi criado. Os repositórios são específicos para um Região da AWS. Para obter mais informações, consulte [Regiões e endpoints de conexão do Git](regions.md).

1. Escolha na lista o repositório ao qual deseja se conectar. Escolha **Clone URL (Clonar URL)** e escolha o protocolo que você deseja usar ao clonar ou se conectar ao repositório. Isso copia a URL do clone.
   + Copie a URL HTTPS se você estiver usando credenciais do Git com seu usuário do IAM ou o assistente de credenciais incluído na AWS CLI.
   + Copie o URL HTTPS (GRC) se estiver usando o comando **git-remote-codecommit** no computador local.
   + Copie o URL do SSH se você estiver usando um par de public/private chaves SSH com seu usuário do IAM.
**nota**  
 Se você ver uma página de **boas-vindas** em vez de uma lista de repositórios, não há repositórios associados à sua AWS conta no Região da AWS local em que você está conectado. Para criar um repositório, consulte [Crie um AWS CodeCommit repositório](how-to-create-repository.md) ou siga as etapas no tutorial [Começando com o Git e CodeCommit](#getting-started).

1. (Opcional) Recomendamos que você configure seu cliente Git local para usar **main** como nome da ramificação padrão do seu repositório. Esse é o nome usado para a ramificação padrão em todos os exemplos deste guia. Também é o mesmo nome de ramificação padrão CodeCommit usado se você fizer sua primeira confirmação no console. Execute o comando a seguir para configurar o nome da ramificação padrão globalmente para seu sistema:

   ```
   git config --global init.defaultBranch main
   ```

   Se você preferir usar um nome de ramificação padrão diferente para todos os seus repositórios, substitua **main** pelo nome de sua preferência. Este tutorial pressupõe que sua ramificação padrão tenha o nome de *principal*.

   Se quiser usar nomes de ramificações padrão diferentes para repositórios diferentes, você pode definir esse atributo localmente (**--local**) em vez de globalmente (**--global**).

1. No terminal ou prompt de comando, clone o repositório com o comando **git clone** e forneça a URL do clone copiado na etapa 3. A URL do clone dependerá do protocolo e da configuração usados. Por exemplo, se você estiver usando HTTPS com credenciais do Git para clonar um repositório chamado *MyDemoRepo* na região Leste dos EUA (Ohio):

   ```
   git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```

   Se você estiver usando HTTPS com **git-remote-codecommit**:

   ```
   git clone codecommit://MyDemoRepo my-demo-repo
   ```

   Se estiver usando SSH:

   ```
   git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```
**nota**  
Se você visualizar um erro ao tentar clonar um repositório, talvez não tenha concluído a configuração necessária no seu computador local. Para obter mais informações, consulte [Configuração do AWS CodeCommit](setting-up.md).

## Etapa 3: criar sua primeira confirmação
<a name="getting-started-create-commit"></a>

Nesta etapa, você criará sua primeira confirmação no repositório local. Para fazer isso, será preciso criar dois arquivos de exemplo no seu repositório local. O Git será usado para preparar e, em seguida, confirmar a alteração no seu repositório local.

1. Use um editor de texto para criar os dois seguintes arquivos de texto de exemplo no seu diretório. Nomeie os arquivos `cat.txt` e `dog.txt`:

   ```
   cat.txt
   -------
   The domestic cat (Felis catus or Felis silvestris catus) is a small, usually furry, domesticated, and carnivorous mammal.
   ```

   

   ```
   dog.txt
   -------
   The domestic dog (Canis lupus familiaris) is a canid that is known as man's best friend.
   ```

1. Execute **git config** para adicionar seu nome de usuário e endereço de e-mail representados por espaços reservados *your-user-name* e *your-email-address* ao seu repositório local. Isso facilita a identificação das confirmações realizadas: 

   ```
   git config --local user.name "your-user-name"
   git config --local user.email your-email-address
   ```

1. Se você não definiu o nome da ramificação padrão globalmente ao criar o repositório local, execute o comando a seguir para definir o nome da ramificação padrão como **main**:

   ```
   git config --local init.defaultBranch main
   ```

1. Execute **git add** para preparar a alteração:

   ```
   git add cat.txt dog.txt
   ```

1. Execute **git commit** para confirmar a alteração:

   ```
   git commit -m "Added cat.txt and dog.txt"
   ```
**dica**  
Para ver os detalhes da confirmação que acabou de fazer, execute **git log**.

## Etapa 4: enviar sua primeira confirmação via push
<a name="getting-started-init-repo"></a>

Nesta etapa, você envia o commit do seu repositório local para o seu CodeCommit repositório. 

Execute **git push** para enviar seu commit por meio do nome remoto padrão que o Git usa para seu CodeCommit repositório (`origin`), da ramificação padrão em seu repositório local (): `main`

```
git push -u origin main
```

**dica**  
Depois de enviar os arquivos para o seu CodeCommit repositório, você pode usar o CodeCommit console para visualizar o conteúdo. Para obter mais informações, consulte [Procurar arquivos em um repositório](how-to-browse.md).

## Etapa 5: compartilhar o CodeCommit repositório e enviar e receber outro commit
<a name="getting-started-pull-commits"></a>

Nesta etapa, você compartilha informações sobre o CodeCommit repositório com outro membro da equipe. O integrante da equipe usa essas informações para obter uma cópia local, fazer algumas alterações nela e, em seguida, enviar a cópia local modificada para o seu CodeCommit repositório. Em seguida, você puxa as alterações do CodeCommit repositório para o repositório local. 

Neste tutorial, o outro usuário será simulado fazendo com que o Git crie um diretório separado daquele que você criou na [etapa 2](#getting-started-set-up-folders). (Normalmente, esse diretório está em uma máquina diferente.) Esse novo diretório é uma cópia do seu CodeCommit repositório. Algumas alterações feitas ao diretório existente ou a esse novo diretório são realizadas independentemente. A única maneira de identificar alterações nesses diretórios é extrair do CodeCommit repositório. 

Mesmo que estejam na mesma máquina local, chamaremos o diretório existente de *repositório local* e o novo diretório de *repositório compartilhado*.

No novo diretório, você obtém uma cópia separada do CodeCommit repositório. Em seguida, você adiciona um novo arquivo de exemplo, confirma as alterações no repositório compartilhado e, em seguida, envia o commit do repositório compartilhado para o seu CodeCommit repositório.

Por fim, você extrairá as alterações do seu repositório para seu repositório local e, em seguida, navegará por ele para ver as alterações confirmadas pelo outro usuário.

1. Mude para o diretório `/tmp` ou `c:\temp`.

1. Execute **git clone** para fazer o pull de uma cópia do repositório para o repositório compartilhado:

   Para HTTPS:

   ```
   git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo
   ```

   Para HTTPS com **git-remote-codecommit**:

   ```
   git clone codecommit://MyDemoRepo shared-demo-repo
   ```

   Para o SSH:

   ```
   git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo
   ```
**nota**  
Quando um repositório é clonado usando SSH em sistemas operacionais Windows, talvez seja necessário adicionar o ID da chave SSH à cadeia de conexão da seguinte forma:  

   ```
   git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```
Para obter mais informações, consulte [Para conexões SSH no Windows](setting-up-ssh-windows.md).

   Neste comando, `MyDemoRepo` está o nome do seu CodeCommit repositório. `shared-demo-repo`é o nome do diretório que o Git cria no `/tmp` diretório ou no `c:\temp` diretório. Depois que o Git criar o diretório, o Git extrairá uma cópia do seu repositório no diretório `shared-demo-repo`.

1. Mude para o diretório `shared-demo-repo`:

   ```
   (For Linux, macOS, or Unix) cd /tmp/shared-demo-repo
   (For Windows) cd c:\temp\shared-demo-repo
   ```

1. Execute **git config** para adicionar outro nome de usuário e endereço de e-mail representado por espaços reservados *other-user-name* e. *other-email-address* Isso facilita a identificação das confirmações realizadas pelo outro usuário: 

   ```
   git config --local user.name "other-user-name"
   git config --local user.email other-email-address
   ```

1. Use um editor de texto para criar o seguinte arquivo de texto de exemplo no diretório `shared-demo-repo`. Nomeie o arquivo `horse.txt`:

   ```
   horse.txt
   -------
   The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.
   ```

1. Execute **git add** para preparar a alteração no repositório compartilhado:

   ```
   git add horse.txt
   ```

1. Execute **git commit** para confirmar a alteração no repositório compartilhado:

   ```
   git commit -m "Added horse.txt"
   ```

1. Execute **git push** para enviar seu commit inicial por meio do nome remoto padrão que o Git usa para seu CodeCommit repositório (`origin`), da ramificação padrão em seu repositório local (): `main`

   ```
   git push -u origin main
   ```

1. Mude para seu repositório local e execute **git pull** para obter em seu repositório local o commit do repositório compartilhado feito no repositório. CodeCommit Em seguida, execute **git log** para ver a confirmação que foi iniciada a partir do repositório compartilhado.

## Etapa 6: criar e compartilhar uma ramificação
<a name="getting-started-branching"></a>

Nesta etapa, você cria uma ramificação em seu repositório local, faz algumas alterações e, em seguida, envia a ramificação para seu CodeCommit repositório. Em seguida, você puxa a ramificação do seu CodeCommit repositório para o repositório compartilhado. 

Uma ramificação permite que você desenvolva independentemente uma versão diferente do conteúdo do repositório (por exemplo, para trabalhar em um novo recurso de software sem afetar o trabalho dos membros de sua equipe). Quando o recurso fica estável, você mescla a ramificação a outra mais estável do software.

Você usa o Git para criar a ramificação e, em seguida, apontá-la para a primeira confirmação que você fez. Você usa o Git para enviar a ramificação para o CodeCommit repositório. Em seguida, você alternará para o repositório compartilhado e usará o Git para extrair a nova ramificação para o repositório local compartilhado e explorar a ramificação.

1. Do repositório local, execute **git checkout**, especificando o nome da ramificação (por exemplo, `MyNewBranch`) e a ID da primeira confirmação que você fez no repositório local. 

   Se você não souber o ID da confirmação, execute **git log** para obtê-lo. Certifique-se de que a confirmação tem seu nome de usuário e endereço de e-mail, não o nome de usuário e endereço de e-mail do outro usuário. Isso é para simular que `main` é uma versão estável do CodeCommit repositório e a `MyNewBranch` ramificação é para algum recurso novo e relativamente instável:

    

   ```
   git checkout -b MyNewBranch commit-ID
   ```

1. Execute **git push** para enviar a nova ramificação do repositório local para o CodeCommit repositório:

   ```
   git push origin MyNewBranch
   ```

1. Agora, efetue o pull da ramificação para o repositório compartilhado e verifique os resultados:

   1. Alterne para o diretório do repositório compartilhado (shared-demo-repo).

   1. Faça o pull na nova ramificação (**git fetch origin**).

   1. Confirme se o pull da ramificação foi efetuado (o **git branch --all** exibe uma lista de todas as ramificações do repositório).

   1. Mude para a nova ramificação (**git checkout MyNewBranch**).

   1. Confirme se você mudou para a ramificação `MyNewBranch`, executando **git status** ou **git branch**. O resultado mostra em qual ramificação você está. Neste caso, deve ser `MyNewBranch`. 

   1. Visualize a lista de confirmações na ramificação (**git log**).

   Aqui está a lista de comandos Git para chamar:

   ```
   git fetch origin
   git branch --all
   git checkout MyNewBranch
   git branch or git status
   git log
   ```

1. Alterne de volta para a ramificação `main` e visualize a lista de confirmações. Os comandos do Git devem ter essa aparência:

    

   ```
   git checkout main
   git log
   ```

1. Alterne para a ramificação `main` em seu repositório local. Você pode executar **git status** ou **git branch**. O resultado mostra em qual ramificação você está. Neste caso, deve ser `main`. Os comandos do Git devem ter essa aparência:

    

   ```
   git checkout main
   git branch or git status
   ```

## Etapa 7: criar e compartilhar uma tag
<a name="getting-started-tags"></a>

Nesta etapa, você cria duas tags em seu repositório local, associa as tags aos commits e, em seguida, envia as tags para o seu CodeCommit repositório. Em seguida, você puxa as alterações do CodeCommit repositório para o repositório compartilhado. 

Uma tag é usada para dar um nome legível por humanos a uma confirmação (ou uma ramificação ou até mesmo outra tag). Você poderá fazer isso, por exemplo, se quiser marcar uma confirmação como `v2.1`. Uma confirmação, uma ramificação ou uma tag podem ter várias tags associadas a elas, mas uma tag individual pode ser associada a apenas uma confirmação, uma ramificação ou uma tag. Neste tutorial, você marcará uma confirmação como `release` e outra como `beta`.

Use o Git para criar as tags, apontando a tag `release` para a primeira confirmação que você fez e a tag `beta` para a confirmação feita pelo outro usuário. Em seguida, você usa o Git para enviar as tags para o CodeCommit repositório. Você, então, alternará para o repositório compartilhado e usará o Git para extrair as tags para o repositório local compartilhado e explorar as tags.

1. Do repositório local, execute **git tag**, especificando o nome da nova tag (`release`) e a ID da primeira confirmação que você fez no repositório local. 

   Se você não souber o ID da confirmação, execute **git log** para obtê-lo. Certifique-se de que a confirmação tem seu nome de usuário e endereço de e-mail, não o nome de usuário e endereço de e-mail do outro usuário. Isso é para simular que seu commit é uma versão estável do CodeCommit repositório:

   ```
   git tag release commit-ID
   ```

   Execute **git tag** novamente para marcar a confirmação do outro usuário com a tag `beta`. Isso é para simular que a confirmação é para algum recurso novo relativamente instável:

    

   ```
   git tag beta commit-ID
   ```

1. Execute **git push --tags** para enviar as tags para o CodeCommit repositório.

1. Agora, efetue o pull das tags para o repositório compartilhado e verifique os resultados:

   1. Alterne para o diretório do repositório compartilhado (shared-demo-repo).

   1. Faça o pull nas novas tags (**git fetch origin**).

   1. Confirme se foi efetuado o pull das tags (o comando **git tag** exibe uma lista das tags do repositório).

   1. Exiba as informações sobre cada tag (**git log release** e **git log beta**).

   Aqui está a lista de comandos Git para chamar:

   ```
   git fetch origin
   git tag
   git log release
   git log beta
   ```

1. Experimente isso também no repositório local:

   ```
   git log release
   git log beta
   ```

## Etapa 8: configurar permissões de acesso
<a name="getting-started-permissions"></a>

Nesta etapa, você concede permissão ao usuário para sincronizar o repositório compartilhado com o CodeCommit repositório. Esta é uma etapa opcional. É recomendado para usuários interessados em aprender sobre como controlar o acesso aos CodeCommit repositórios quando os usuários usam credenciais do Git ou os pares de chaves SSH são usados com usuários do IAM para acessar os repositórios. CodeCommit 

**nota**  
Se você estiver usando acesso federado, credenciais temporárias ou um provedor de identidade da web, como o IAM Identity Center, configure usuários, acessos e permissões para seu provedor de identidade e, em seguida, use **git-remote-codecommit**. Para obter mais informações, consulte [Etapas de configuração para conexões HTTPS AWS CodeCommit com git-remote-codecommit](setting-up-git-remote-codecommit.md) e [Conectando-se a AWS CodeCommit repositórios com credenciais rotativas](temporary-access.md).

Para fazer isso, use o console do IAM para criar um usuário que, por padrão, não tem permissões para sincronizar o repositório compartilhado com o CodeCommit repositório. Você pode executar **git pull** para verificar isso. Se o novo usuário não tiver permissão para sincronizar, o comando não funcionará. Em seguida, você voltará ao console do IAM e aplicará uma política que permita ao usuário executar o **git pull**. Você pode executar o **git pull** novamente para verificar isso. 

Esta etapa foi escrita supondo que você tenha permissões para criar usuários do IAM em sua conta da Amazon Web Services. Se você não tiver essas permissões, não poderá realizar os procedimentos desta etapa. Avance para [Etapa 9: limpar](#getting-started-clean-up) para limpar os recursos usados no tutorial.

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   Certifique-se de fazer login com o mesmo nome de usuário e senha utilizados em [Configurando ](setting-up.md).

1. No painel de navegação, escolha **Users** e depois **Create New Users**.

1. Na primeira caixa **Enter User Names (Inserir nomes de usuários)**, insira um nome de usuário de exemplo (por exemplo, **JaneDoe-CodeCommit**). Selecione a caixa **Generate an access key for each user (Gerar uma chave de acesso para cada usuário)** e selecione **Create (Criar)**.

1. Escolha **Show User Security Credentials**. Anote o access key ID e a chave de acesso secreta ou escolha **Download Credentials**. 

1. Siga as instruções em [Para usuários de HTTPS usando credenciais do Git](setting-up-gc.md) para gerar e fornecer as credenciais do usuário do IAM.

   Se você quiser usar SSH, siga as instruções em [SSH e Linux, macOS ou Unix: configure as chaves públicas e privadas para Git e CodeCommit](setting-up-ssh-unixes.md#setting-up-ssh-unixes-keys-unixes) ou [Etapa 3: configurar as chaves públicas e privadas para o Git e CodeCommit](setting-up-ssh-windows.md#setting-up-ssh-windows-keys-windows) para configurar o usuário com chaves públicas e privadas.

1. Executar **git pull**. O seguinte erro deve aparecer:

   Para HTTPS:

    `fatal: unable to access 'https://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403`. 

   Para o SSH:

   `fatal: unable to access 'ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403`. 

   O erro aparece porque o novo usuário não tem permissão para sincronizar o repositório compartilhado com o CodeCommit repositório.

1. Retorne ao console do IAM. No painel de navegação, escolha **Policies** e, em seguida, **Create Policy**. (Se aparecer um botão **Get Started**, selecione-o e, em seguida, **Create Policy**.)

1. Próximo a **Create Your Own Policy**, escolha **Select**.

1. Na caixa **Policy Name (Nome da política)**, insira um nome (por exemplo, **CodeCommitAccess-GettingStarted**).

1. Na caixa **Documento da política**, insira o seguinte para permitir que um usuário do IAM extraia de qualquer repositório associado ao usuário do IAM:

    

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codecommit:GitPull"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

    
**dica**  
Se quiser que o usuário do IAM possa enviar confirmações via push para qualquer repositório associado ao usuário do IAM, insira:  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "codecommit:GitPull",
           "codecommit:GitPush"
         ],
         "Resource": "*"
       }
     ]
   }
   ```
Para obter informações sobre outras permissões de CodeCommit ações e recursos que você pode conceder aos usuários, consulte[Autenticação e controle de acesso para AWS CodeCommit](auth-and-access-control.md).

1. No painel de navegação, escolha **Users**.

1. Escolha o nome de usuário de exemplo (por exemplo, **JaneDoe-CodeCommit**) ao qual você deseja anexar a política.

1. Escolha a aba **Permissões**.

1. Em **Managed Policies**, escolha **Attach Policy**.

1. Selecione a política **CodeCommitAccess-GettingStarted** que você acabou de criar e escolha **Attach Policy (Anexar política)**.

1. Executar **git pull**. Dessa vez, o comando deve funcionar e deve aparecer uma mensagem `Already up-to-date`. 

1. Se você estiver usando HTTPS, alterne para suas credenciais originais do Git ou, se estiver usando **git-remote-codecommit**, seu perfil habitual. Para obter mais informações, consulte as instruções em [Configuração para usuários de HTTPS usando credenciais do Git](setting-up-gc.md) ou [Etapas de configuração para conexões HTTPS AWS CodeCommit com git-remote-codecommit](setting-up-git-remote-codecommit.md).

   Se você estiver usando SSH, alterne para suas chaves originais. Para acessar mais informações, consulte [SSH e Linux, macOS ou Unix: configure as chaves públicas e privadas para Git e CodeCommit](setting-up-ssh-unixes.md#setting-up-ssh-unixes-keys-unixes) ou [Etapa 3: configurar as chaves públicas e privadas para o Git e CodeCommit](setting-up-ssh-windows.md#setting-up-ssh-windows-keys-windows).

Você chegou ao fim deste tutorial. 

## Etapa 9: limpar
<a name="getting-started-clean-up"></a>

Nesta etapa, você exclui o CodeCommit repositório usado neste tutorial, para não continuar sendo cobrado pelo espaço de armazenamento. 

Você também remove o repositório local e o repositório compartilhado em sua máquina local porque eles não serão necessários depois que você excluir o CodeCommit repositório.

**Importante**  
Depois de excluir esse repositório, você não poderá cloná-lo para nenhum repositório local ou compartilhado. Também não será possível extrair dados dele nem enviar via push dados para ele de nenhum repositório local ou compartilhado. Esta ação não pode ser desfeita.

### Para excluir o CodeCommit repositório (console)
<a name="getting-started-clean-up-console"></a>

1. Abra o CodeCommit console em [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home).

1. Na página do **Dashboard (Painel)**, escolha **MyDemoRepo** na lista de repositórios. 

1. No painel de navegação, selecione **Configurações**. 

1. Na página **Settings**, escolha **Delete repository** em **Delete repository**.

1. Na caixa ao lado de **Type the name of the repository to confirm deletion (Digite o nome do repositório para confirmar a exclusão)**, insira **MyDemoRepo** e escolha **Delete (Excluir)**. 

### Para excluir o CodeCommit repositório ()AWS CLI
<a name="getting-started-clean-up-cli"></a>

Execute o comando [delete-repository](how-to-delete-repository.md#how-to-delete-repository-cli):

```
aws codecommit delete-repository --repository-name MyDemoRepo
```

### Para excluir o repositório local e o repositório compartilhado
<a name="getting-started-delete-repos"></a>

Para Linux, macOS ou Unix: 

```
cd /tmp
rm -rf /tmp/my-demo-repo
rm -rf /tmp/shared-demo-repo
```

Para Windows: 

```
cd c:\temp
rd /s /q c:\temp\my-demo-repo
rd /s /q c:\temp\shared-demo-repo
```