Publicação de teste a 12/16
Utilize um ramo para isolar trabalhos de desenvolvimento sem afetar outros ramos no repositório. Cada repositório tem um ramo predefinido e pode ter vários outros ramos. Pode intercalar um ramo noutro ramo com um pedido Pull.
Neste artigo |
|
---|---|
Acerca dos ramos
Os ramos permitem-lhe desenvolver funcionalidades, corrigir erros ou experimentar com segurança novas ideias numa área contida do seu repositório.
Cria sempre um ramo a partir de um ramo existente. Normalmente, pode criar um novo ramo a partir do ramo predefinido do seu repositório. Em seguida, pode trabalhar neste novo ramo isoladamente das alterações que outras pessoas estão a fazer no repositório. Um ramo que cria para criar uma funcionalidade é normalmente referido como ramo de funcionalidade ou ramo de tópico. Para obter mais informações, veja "Criar e eliminar ramos no seu repositório".
Também pode utilizar um ramo para publicar um site do GitHub Pages. Para obter mais informações, consulte "Acerca do GitHub Pages".
Tem de ter acesso de escrita a um repositório para criar um ramo, abrir um pedido Pull ou eliminar e restaurar ramos num pedido Pull. Para obter mais informações, veja "Permissões de acesso no GitHub".
Acerca do ramo predefinido
Quando cria um repositório com conteúdo no GitHub, o GitHub cria o repositório com um único ramo. Este primeiro ramo no repositório é o ramo predefinido. O ramo predefinido é o ramo que o GitHub apresenta quando alguém visita o seu repositório. O ramo predefinido é também o ramo inicial que o Git dá saída localmente quando alguém clona o repositório. A menos que especifique um ramo diferente, o ramo predefinido num repositório é o ramo base para novos pedidos Pull e consolidações de código.
Por predefinição, o GitHub atribui um nome ao ramo principal predefinido em qualquer novo repositório.
Pode alterar o ramo predefinido de um repositório existente. Para obter mais informações, consulte "Alterar o ramo predefinido".
Pode definir o nome do ramo predefinido para novos repositórios. Para obter mais informações, consulte "Gerir o ramo predefinido para os repositórios", "Gerir o nome de ramo predefinido para repositórios na sua organização" e "Impor políticas de gestão de repositórios na sua conta empresarial".
Trabalhar com ramos
Assim que estiver satisfeito com o seu trabalho, pode abrir um pedido Pull para intercalar as alterações no ramo atual (o ramo principal) noutro ramo (o ramo base). Para obter mais informações, consulte "Acerca dos pedidos Pull."
Depois de um pedido Pull ter sido intercalado ou fechado, pode eliminar o ramo principal, uma vez que este já não é necessário. Tem de ter acesso de escrita no repositório para eliminar ramos. Não pode eliminar ramos que estejam diretamente associados a pedidos Pull abertos. Para obter mais informações, veja "Eliminar e restaurar ramos num pedido Pull"
Se eliminar um ramo principal após a intercalação do pedido Pull, o GitHub verifica se existem pedidos Pull abertos no mesmo repositório que especifiquem o ramo eliminado como ramo base. O GitHub atualiza automaticamente esses pedidos Pull, alterando o respetivo ramo base para o ramo base do pedido Pull intercalado. Os diagramas seguintes ilustram isto.
Aqui, alguém criou um ramo chamado feature1 a partir do ramo principal e, em seguida, criou um ramo chamado feature2 a partir da funcionalidade1. Existem pedidos Pull abertos para ambos os ramos. As setas indicam o ramo base atual para cada pedido Pull. Neste momento, a funcionalidade1 é o ramo base da funcionalidade2. Se o pedido Pull para a funcionalidade2 estiver intercalado agora, o ramo feature2 será intercalado na funcionalidade1.
No diagrama seguinte, alguém intercalou o pedido Pull para a funcionalidade1 no ramo principal e eliminou o ramo feature1. Como resultado, o GitHub reencavou automaticamente o pedido Pull para a funcionalidade2 para que o seu ramo base seja agora o principal.
Agora, quando intercalar o pedido Pull de funcionalidade2, este será intercalado no ramo principal.
Trabalhar com ramos protegidos
Os administradores do repositório podem ativar proteções num ramo. Se estiver a trabalhar num ramo protegido, não poderá eliminar ou forçar a empção para o ramo. Além disso, os administradores do repositório podem ativar várias outras definições de ramo protegido para impor vários fluxos de trabalho antes de um ramo poder ser intercalado.
Nota: Se for um administrador de repositório, pode intercalar pedidos Pull em ramos com proteções de ramo ativadas, mesmo que o pedido Pull não cumpra os requisitos, a menos que as proteções de ramo tenham sido definidas como "Incluir administradores".
Para ver se o pedido Pull pode ser intercalado, procure na caixa de impressão em série na parte inferior do separadorConversation do pedido Pull. Para obter mais informações, consulte "Acerca dos ramos protegidos".
Quando um ramo está protegido:
-
Não poderá eliminar ou forçar o envio para o ramo.
-
Se as verificações de estado necessárias estiverem ativadas no ramo, não poderá intercalar as alterações no ramo até que todos os testes de CI necessários passem. Para obter mais informações, consulte "Acerca das verificações de estado".
-
Se as revisões de pedidos Pull necessárias estiverem ativadas no ramo, não poderá intercalar as alterações no ramo até que todos os requisitos na política de revisão de pedidos Pull sejam cumpridos. Para obter mais informações, veja "Intercalar um pedido Pull".
-
Se a revisão necessária de um proprietário de código estiver ativada num ramo e um pedido Pull modificar o código que tem um proprietário, o proprietário do código tem de aprovar o pedido Pull antes de poder ser intercalado. Para obter mais informações, consulte "Acerca dos proprietários de código".
-
Se a assinatura de consolidação necessária estiver ativada num ramo, não poderá emitir consolidações para o ramo que não estejam assinadas e verificadas. Para obter mais informações, consulte "Acerca da verificação da assinatura de consolidação" e "Acerca dos ramos protegidos".
-
Se utilizar o editor de conflitos do GitHub para corrigir conflitos para um pedido Pull que criou a partir de um ramo protegido, o GitHub ajuda-o a criar um ramo alternativo para o pedido Pull, para que a resolução dos conflitos possa ser intercalada. Para obter mais informações, veja "Resolver um conflito de intercalação no GitHub".
Leitura adicional
"Acerca dos pedidos Pull"
"Branch" no glossário do GitHub
"Ramos num Nutshell" na documentação do Git