Componentes do fluxo do GitHub
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.
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.
Agora que sabemos de todos os ingredientes, vamos rever o fluxo do GitHub.
O fluxo do GitHub
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.
- Comece criando uma ramificação para que as alterações, recursos e correções que você criar não afetem a ramificação principal.
- 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.
- 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.
- Em seguida, revise e implemente o feedback dos seus colaboradores.
- Quando você se sentir satisfeito com suas alterações, é hora de aprovar sua solicitação de pull e mesclá-la ao branch principal.
- 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.