Componentes do fluxo do GitHub

Concluído

Nesta unidade, estamos revisando os seguintes componentes do fluxo do GitHub:

  • Ramificações
  • Confirmações
  • Solicitações de pull
  • O fluxo do GitHub

O que são branches?

Na última seção, criamos um novo arquivo e um novo branch em seus repositórios.

Os branches são uma parte essencial para a experiência do GitHub, pois são onde podemos fazer alterações sem afetar todo o projeto em que estamos trabalhando.

Seu branch é um lugar seguro para experimentar novos recursos ou correções. Se você cometer um erro, poderá reverter suas alterações ou efetuar push das alterações adicionais para corrigir o erro. Suas alterações não serão atualizadas no branch padrão até que você mescle seu branch.

Observação

Como alternativa, você pode criar uma nova ramificação e verificá-la usando o git em um terminal. O comando seria git checkout -b newBranchName

O que são commits

Na unidade anterior, você adicionou um novo arquivo ao repositório enviando um commit. Vamos revisar brevemente o que são commits.

Uma confirmação é uma alteração em um ou mais arquivos de um branch. Toda vez que uma confirmação é criada, é atribuído a ela uma ID exclusiva, que é rastreada juntamente com o tempo e o colaborador. Os commits fornecem uma trilha de auditoria clara para qualquer pessoa que revise o histórico de um arquivo ou item vinculado, como um problema ou uma solicitação de pull.

Uma captura de tela de uma lista de commits do GitHub para um branch principal.

Dentro de um repositório git, um arquivo pode existir em vários estados válidos à medida que passa pelo processo de controle de versão. Os estados primários de um arquivo em um repositório Git são Não rastreado e Rastreado.

Não rastreado: Um estado inicial de um arquivo quando ele ainda não faz parte do repositório Git. O Git desconhece a existência dele.

Rastreado: Um arquivo rastreado é aquele que o Git está monitorando ativamente. A imagem pode estar em um dos seguintes subestados:

  • Não modificado: O arquivo é rastreado, mas não foi modificado desde a última confirmação.
  • Modificado: O arquivo foi alterado desde o último commit, mas essas alterações ainda não foram preparadas para o próximo commit.
  • Encenado: O arquivo foi modificado e as alterações foram adicionadas à área de preparo (também conhecida como índice). Essas mudanças estão prontas para serem confirmadas.
  • Empenhado: O arquivo está no banco de dados do repositório. Ele representa a versão confirmada mais recente do arquivo.

Esses estados e subestados são importantes para colaborar com sua equipe para saber onde cada commit está no processo do seu projeto. Agora vamos passar a tratar de solicitações de pull.

O que são solicitações de pull?

Uma solicitação de pull é o mecanismo usado para sinalizar que as confirmações de um branch estão prontas para serem mescladas em outro branch.

O membro da equipe que envia a solicitação pull pede a um ou mais revisores para verificar o código e aprovar a mesclagem. Esses revisores têm a oportunidade de comentar sobre as alterações, adicionar as próprias ou usar a solicitação de pull para uma discussão adicional.

Depois que as alterações forem aprovadas (se necessário), o branch de origem da solicitação de pull (o branch de comparação) será mesclado ao branch base.

Uma captura de tela de uma solicitação pull e um comentário dentro da solicitação pull.

Agora que sabemos de todos os ingredientes, vamos rever o fluxo do GitHub.

O fluxo do GitHub

Captura de tela mostrando uma representação visual do GitHub Flow em um formato linear que inclui um novo branch, commits, pull de solicitação e mesclagem das alterações de volta ao main nessa ordem.

O fluxo do GitHub pode ser definido como um fluxo de trabalho leve que permite a experimentação segura. Você pode testar novas ideias e colaboração com sua equipe usando branching, solicitações de pull e mesclagens.

Agora que sabemos o básico do GitHub, podemos percorrer o fluxo do GitHub e os respectivos componentes.

  1. Comece criando uma ramificação para que as alterações, recursos e correções que você criar não afetem a ramificação principal.
  2. Em seguida, faça suas alterações. Recomendamos implantar alterações no branch do recurso antes de mesclar no branch principal. Fazer isso garante que as alterações sejam válidas em um ambiente de produção.
  3. Agora, crie uma solicitação de pull para pedir feedback aos colaboradores. A revisão de pull request é tão valiosa que alguns repositórios exigem uma revisão de aprovação antes que os pull requests possam ser mesclados.
  4. Em seguida, revise e implemente o feedback dos seus colaboradores.
  5. Quando você se sentir satisfeito com suas alterações, é hora de aprovar sua solicitação de pull e mesclá-la ao branch principal.
  6. Por fim, você pode excluir sua ramificação. Excluir sua ramificação sinaliza que seu trabalho nela foi concluído e evita que você ou outras pessoas usem ramificações antigas acidentalmente.

Pronto, você passou por um ciclo de fluxo do GitHub!

Vamos para a próxima seção, onde abordaremos as diferenças entre problemas e discussões.