

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

# Organizando seu trabalho de código-fonte com filiais na Amazon CodeCatalyst
<a name="source-branches"></a>

No Git, as ramificações são simplesmente ponteiros ou referências a uma confirmação. Durante o desenvolvimento, elas são uma forma conveniente de organizar seu trabalho. As ramificações podem ser usadas para separar o trabalho em uma versão nova ou diferente de arquivos sem afetar o trabalho em outras ramificações. Elas também podem ser usadas para desenvolver novos recursos, armazenar uma versão específica do seu projeto e muito mais. Você pode configurar regras para ramificações nos repositórios de origem para limitar determinadas ações em uma ramificação a perfis específicos nesse projeto.

Os repositórios de origem na Amazon CodeCatalyst têm conteúdo e uma ramificação padrão, independentemente de como você os cria. Os repositórios vinculados podem não ter uma ramificação ou conteúdo padrão, mas não podem ser usados CodeCatalyst até que você os inicialize e crie uma ramificação padrão. Ao criar um projeto usando um blueprint, CodeCatalyst cria um repositório de origem para esse projeto que inclui um arquivo README.md, código de amostra, definições de fluxo de trabalho e outros recursos. Quando você cria um repositório de origem sem usar um esquema, um arquivo README.md é adicionado para você como uma primeira confirmação e uma *ramificação padrão* é criada para você. Essa ramificação padrão é chamada *principal*. Essa ramificação padrão é aquela usada como base ou ramificação padrão em repositórios locais quando os usuários clonam o repositório.

**nota**  
Não é possível excluir a ramificação padrão. A primeira ramificação criada para um repositório de origem é a ramificação padrão desse repositório. Além disso, a pesquisa exibe somente os resultados da ramificação padrão. Você não pode pesquisar código em outras ramificações.

A criação de um repositório CodeCatalyst também cria um primeiro commit, que cria uma *ramificação padrão* com um arquivo README.md incluído nela. O nome dessa ramificação padrão é *principal*. Esse é o nome usado para a ramificação padrão em todos os exemplos desse guia. 

**Topics**
+ [Criar uma ramificação](source-create-delete-branch.md)
+ [Gerenciar a ramificação padrão de um repositório](source-branches-default-branch.md)
+ [Gerenciar as ações permitidas para uma ramificação com regras de ramificação](source-branches-branch-rules.md)
+ [Comandos do Git para ramificações](source-branches-git.md)
+ [Visualização de ramificações e detalhes](source-branches-view.md)
+ [Exclusão de uma ramificação](source-branches-delete.md)

# Criar uma ramificação
<a name="source-create-delete-branch"></a>

Você pode usar o CodeCatalyst console para criar ramificações em um CodeCatalyst repositório. As ramificações que você criar ficarão visíveis para outros usuários na próxima vez que eles extraírem as alterações do repositório. 

**dica**  
Você também pode criar ramificações como parte da criação de um Ambiente de Desenvolvimento para trabalhar em seu código. Para obter mais informações, consulte [Criar um Ambiente de Desenvolvimento](devenvironment-create.md).

Você também pode usar o Git para criar ramificações. Para obter mais informações, consulte [Comandos comuns do Git para ramificações](source-branches-git.md#source-branches-git-table).

**Como criar uma ramificação (console)**

1. No CodeCatalyst console, navegue até o projeto em que seu repositório de origem reside.

1. Selecione o nome do repositório na lista de repositórios de origem do projeto. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**.

1. Selecione o repositório onde você deseja criar uma ramificação.

1. Na página de visão geral do repositório, selecione **Mais** e, depois, escolha **Criar ramificação**.

1. Insira um nome para a ramificação.

1. Selecione uma ramificação a partir da qual criar a ramificação e, depois, selecione **Criar**. 

# Gerenciar a ramificação padrão de um repositório
<a name="source-branches-default-branch"></a>

Você pode especificar qual ramificação usar como *ramificação padrão* em um repositório de origem na Amazon CodeCatalyst. Todos os repositórios de origem CodeCatalyst têm conteúdo e uma ramificação padrão, independentemente de como você os cria. Se você usar um esquema para criar um projeto, a ramificação padrão no repositório de origem criado para esse projeto será chamada de *principal*. O conteúdo da ramificação padrão é exibido automaticamente na página de visão geral desse repositório.

**Importante**  
CodeCatalyst não suporta a detecção de alterações na ramificação padrão para repositórios vinculados. Para alterar a ramificação padrão de um repositório vinculado, você deve primeiro desvinculá-la CodeCatalyst, alterar a ramificação padrão e depois vinculá-la novamente. Para obter mais informações, consulte [Vinculando GitHub repositórios, repositórios do Bitbucket, repositórios de GitLab projetos e projetos do Jira no CodeCatalyst](extensions-link.md).  
Como prática recomendada, sempre verifique se você tem a versão mais recente da extensão antes de vincular um repositório.

A ramificação padrão é tratada de forma um pouco diferente de todas as outras ramificações em um repositório de origem. Ela tem um rótulo especial ao lado do nome, **Padrão**. A ramificação padrão é aquela usada como base ou ramificação padrão em repositórios locais quando os usuários clonam o repositório para computadores locais com um cliente Git. Também é o padrão usado na criação de fluxos de trabalho para armazenar arquivos YAML do fluxo de trabalho e para armazenar informações sobre problemas. Ao usar pesquisar em CodeCatalyst, somente a ramificação padrão de um repositório é pesquisada. Como a ramificação padrão é fundamental para muitos aspectos dos projetos, você não pode excluir uma ramificação se ela for especificada como a ramificação padrão. No entanto, você pode optar por usar uma ramificação diferente como ramificação padrão. Se você fizer isso, todas as [regras de ramificação](source-branches-branch-rules.md) aplicadas à antiga ramificação padrão serão aplicadas automaticamente à ramificação especificada como ramificação padrão.

**nota**  
Você deve ter a função de administrador do projeto para alterar a ramificação padrão dos repositórios de origem nos CodeCatalyst projetos. Isso não se aplica aos repositórios vinculados.

**Como visualizar e alterar a ramificação padrão de um repositório**

1. Acesse o projeto no qual reside seu repositório.

1. Selecione o nome do repositório na lista de repositórios de origem do projeto. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**.

   Selecione o repositório em que deseja exibir as configurações, incluindo a ramificação padrão.

1. Na página de visão geral do repositório, selecione **Mais** e, depois, selecione **Gerenciar configurações**.

1. Na **Ramificação padrão**, o nome da ramificação especificada como ramificação padrão é exibido junto com um rótulo chamado **Padrão** ao lado do nome. Esse mesmo rótulo aparece ao lado do nome da ramificação na lista de ramificações em **Ramificações**.

1. Para alterar a ramificação padrão, selecione **Editar**.
**nota**  
Você deve ter o perfil de administrador do projeto para alterar a ramificação padrão.

1. Escolha o nome da ramificação que você deseja tornar a ramificação padrão na lista suspensa e selecione ** Salvar**.

# Gerenciar as ações permitidas para uma ramificação com regras de ramificação
<a name="source-branches-branch-rules"></a>

Quando você cria uma ramificação, determinadas ações são permitidas para essa ramificação com base nas permissões desse perfil. É possível alterar quais ações são permitidas para uma ramificação específica configurando regras de ramificação. As regras de ramificação são baseadas no perfil que um usuário tem no projeto. Você pode optar por limitar algumas ações predefinidas, como enviar confirmações para uma ramificação, para usuários com um perfil específico em um projeto. Isso pode ajudar você a proteger ramificações específicas em um projeto, limitando quais perfis podem realizar determinadas ações. Por exemplo, se você configurar uma regra de ramificação para permitir que somente usuários com o perfil **Administrador do projeto** se mesclem ou façam envios a essa ramificação, os usuários com outros perfis no projeto não poderão fazer alterações no código dessa ramificação. 

Você deve pensar cuidadosamente em todas as implicações da criação de uma regra para uma ramificação. Por exemplo, se você optar por limitar os envios a uma ramificação aos usuários com o perfil **Administrador do projeto**, os usuários com o perfil **Colaborador** não poderão criar nem editar fluxos de trabalho nessa ramificação porque o YAML do fluxo de trabalho está armazenado nessa ramificação e esses usuários não podem confirmar e enviar alterações ao YAML. Como prática recomendada, teste todas as regras de ramificação depois de criá-las para garantir que elas não tenham nenhum impacto não pretendido. Você também pode usar regras de ramificação com regras de aprovação para solicitações pull. Para obter mais informações, consulte [Gerenciamento de requisitos para mesclar uma solicitação pull com regras de aprovação](source-pull-requests-approval-rules.md).

**nota**  
Você deve ter a função de administrador do projeto para gerenciar regras de ramificação para repositórios de origem em CodeCatalyst projetos. Não é possível criar regras de ramificação para repositórios vinculados.  
Só é possível criar regras de ramificação mais restritivas do que as permissões padrão para o perfil. Não é possível criar regras de ramificação mais permissivas do que o autorizado pelo perfil de um usuário no projeto. Por exemplo, não é possível criar uma regra de ramificação que permita que usuários com o perfil de revisor acessem a ramificação.

As regras de ramificação aplicadas à ramificação padrão do seu repositório de origem se comportarão de maneira um pouco diferente das regras de ramificação aplicadas a outras ramificações. Qualquer regra aplicada à ramificação padrão será aplicada automaticamente a qualquer ramificação que você especificar como ramificação padrão. A ramificação anteriormente definida como a ramificação padrão ainda manterá as regras aplicadas a ela, exceto que ela não terá mais proteção contra exclusão. Essa proteção é aplicada somente à ramificação padrão atual.

As regras de ramificação têm dois estados, **Padrão** e **Personalizado**. O **padrão** indica que as ações permitidas em uma ramificação são aquelas que correspondem às permissões da função que o usuário tem CodeCatalyst para as ações da ramificação. Para saber mais sobre quais perfis têm quais permissões, consulte [Concessão de acesso com perfis de usuário](ipa-roles.md). **Personalizado** indica que uma ou mais ações de ramificação têm ações que apresentam uma lista específica de perfis permitidos para realizar essa ação, diferente das permissões padrão concedidas pelo perfil de um usuário no projeto. 

**nota**  
Se você criar uma regra de ramificação para restringir uma ou mais ações para uma ramificação, a ação **Excluir a ramificação** será automaticamente definida para permitir que somente usuários com o perfil de administrador do projeto excluam essa ramificação.

A tabela a seguir lista as ações e as configurações padrão dos perfis autorizados a realizar essas ações em uma ramificação.


**Ações e perfis da ramificação**  

| **Ação da ramificação** |  Perfis autorizados a realizar essa ação quando nenhuma regra de ramificação é aplicada  | 
| --- | --- | 
|  Unificação com a ramificação (isso inclui unificar uma solicitação pull com a ramificação)  |  Administrador do projeto, Colaborador  | 
|  Envio para a ramificação  |  Administrador do projeto, Colaborador  | 
|  Exclusão da ramificação  |  Administrador do projeto, Colaborador  | 
|  Exclusão da ramificação (ramificação padrão)  |  Não permitido  | 

 Você não pode excluir regras de ramificação, mas pode atualizá-las para permitir ações de todos os perfis que poderiam realizar essa ação em uma ramificação, o que efetivamente remove a regra.

**nota**  
Você deve ter a função de administrador do projeto para configurar regras de ramificação para repositórios de origem em CodeCatalyst projetos. Isso não se aplica aos repositórios vinculados. Os repositórios vinculados não oferecem suporte às regras de ramificação em CodeCatalyst.<a name="view-edit-branch-rules"></a>

**Como visualizar e editar regras de ramificação para um repositório**

1. Acesse o projeto no qual reside seu repositório.

1. Selecione o nome do repositório na lista de repositórios de origem do projeto. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**.

   Selecione o repositório onde você deseja visualizar regras de ramificação.

1. Na página de visão geral do repositório, selecione **Ramificações**.

1. Na coluna **Regras de ramificação**, visualize o status das regras para cada ramificação do repositório. **Padrão** indica que as regras para a ação da ramificação são as padrão para qualquer ramificação criada em um repositório de origem e correspondem às permissões concedidas a esses perfis em um projeto. **Personalizado** indica que uma ou mais ações de ramificação têm regras que restringem uma ou mais ações permitidas para essa ramificação a um conjunto diferente de perfis.

   Para ver as especificações das regras de ramificação de uma ramificação, selecione a palavra **Padrão** ou **Personalizado** ao lado da ramificação que você deseja revisar. 

1. Para criar ou alterar uma regra de ramificação, selecione **Gerenciar configurações**. Na página de configurações do repositório de origem, em **Regras de ramificação**, selecione **Editar**.

1. Em **Ramificação**, selecione o nome da ramificação para a qual você deseja configurar um perfil na lista suspensa. Em relação a cada um dos tipos de ação permitidos, selecione os perfis que você deseja permitir que executem essa ação na lista suspensa e escolha **Salvar**.

# Comandos do Git para ramificações
<a name="source-branches-git"></a>

Você pode usar o Git para criar, gerenciar e excluir branches no clone do repositório de origem que você tem em seu computador (seu repositório local) ou em seus ambientes de desenvolvimento e, em seguida, confirmar e enviar suas alterações para o repositório de CodeCatalyst origem (o repositório remoto). Por exemplo: 


**Comandos comuns do Git para ramificações**  

|  |  | 
| --- |--- |
|  Lista todas as ramificações no repositório local com um asterisco (`*`) exibido ao lado da sua ramificação atual.  |  `git branch`  | 
|  Extrai informações sobre todas as ramificações existentes no repositório remoto para o repositório local.  |  `git fetch`  | 
|  Lista todas as ramificações no repositório local e ramificações de rastreamento remoto no repositório local.  |  `git branch -a`  | 
|  Lista somente ramificações de rastreamento remoto no repositório local.  |  `git branch -r`  | 
|  Cria uma ramificação no repositório local usando o nome de ramificação especificado. Essa ramificação não aparecerá no repositório remoto até que você confirme e envie a alteração.  |  `git branch branch-name`  | 
|  Cria uma ramificação no repositório local usando o nome de ramificação especificado e alterna para ela.  |  `git checkout -b branch-name`  | 
|  Alterna para outra ramificação no repositório local usando o nome de ramificação especificado.  |  `git checkout other-branch-name`  | 
|  Envia uma ramificação do repositório local para o repositório remoto usando o apelido especificado do repositório local para o repositório remoto e o nome da ramificação especificado. Também configura informações de rastreamento upstream da ramificação no repositório local.  |  `git push -u remote-name branch-name`  | 
|  Mescla alterações de outra ramificação no repositório local à ramificação atual no repositório local.   |  `git merge from-other-branch-name`  | 
|  Exclui uma ramificação no repositório local, a menos que ela contenha trabalho que ainda não foi mesclado.   |  `git branch -d branch-name`  | 
|  Exclui uma ramificação do repositório remoto usando o apelido especificado que o repositório local usa para o repositório remoto e o nome de ramificação especificado. (Observe o uso de dois pontos (`:`).) Como alternativa, especifique `--delete` como parte do comando.  | `git push remote-name :branch-name` `git push remote-name --delete branch-name`  | 

Para ter mais informações, consulte a documentação do Git.

# Visualização de ramificações e detalhes
<a name="source-branches-view"></a>

Você pode visualizar informações sobre filiais remotas na Amazon CodeCatalyst, incluindo detalhes específicos dos arquivos, pastas e a confirmação mais recente de uma filial específica, no CodeCatalyst console da Amazon. Você também pode usar os comandos do Git e seu sistema operacional local para visualizar essas informações para ramificações remotas e locais.<a name="source-branches-view-console"></a>

**Para visualizar ramificações (console)**

1. No CodeCatalyst console, navegue até o projeto que contém o repositório de origem no qual você deseja visualizar as ramificações. Selecione **Código**, selecione **Repositórios de origem** e, depois, selecione o repositório de origem.

1. Selecione o nome do repositório na lista de repositórios de origem do projeto. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**.

   Selecione o repositório onde você deseja visualizar uma ramificação.

1. A ramificação padrão do repositório é exibida. Você pode ver uma lista de arquivos e pastas na ramificação, informações sobre a confirmação mais recente e o conteúdo do arquivo README.md, se ele existir na ramificação. Para visualizar as informações de uma ramificação diferente, selecione-a na lista suspensa de ramificações do repositório.

1. Para visualizar todas as ramificações de um repositório, selecione **Visualizar tudo**. A página Ramificações exibe informações sobre o nome, a confirmação mais recente e as regras de cada ramificação.

Para ter informações sobre como usar o Git e o sistema operacional para visualizar ramificações e detalhes, consulte [Comandos comuns do Git para ramificações](source-branches-git.md#source-branches-git-table), a documentação do Git e a documentação do sistema operacional.

# Exclusão de uma ramificação
<a name="source-branches-delete"></a>

Se você não precisar mais de uma ramificação, poderá excluí-la. Por exemplo, se você mesclou uma ramificação com uma alteração de recurso na ramificação padrão e esse recurso foi lançado, talvez queira excluir a ramificação original do recurso, pois as alterações já fazem parte da ramificação padrão. Manter o número de ramificações baixo pode ajudar os usuários a descobrir a ramificação que contém as alterações nas quais desejam trabalhar. Quando você exclui uma ramificação, as cópias dessa ramificação permanecem nos clones do repositório nos computadores locais até que os usuários obtenham e sincronizem essas alterações.<a name="source-branch-delete"></a>

**Como excluir uma ramificação (console)**

1. Acesse o projeto no qual reside seu repositório.

1. Selecione o nome do repositório na lista de repositórios de origem do projeto. No painel de navegação, também é possível selecionar **Código** e escolher **Repositórios de origem**.

   Selecione o repositório onde você deseja excluir uma ramificação.

1. Na página de visão geral do repositório, escolha o seletor suspenso ao lado do nome da ramificação e, depois, selecione **Exibir tudo**.

1. Escolha a ramificação que você deseja excluir e, depois, selecione **Excluir ramificação**.
**nota**  
Você não pode excluir a ramificação padrão de um repositório.

1. Uma caixa de diálogo de confirmação é exibida. Ela mostra o repositório, o número de pull requests abertos e o número de fluxos de trabalho associados à ramificação. 

1. Para confirmar a exclusão da ramificação, digite **excluir** na caixa de texto e selecione **Excluir**.

Você também pode usar o Git para excluir ramificações. Para obter mais informações, consulte [Comandos comuns do Git para ramificações](source-branches-git.md#source-branches-git-table).