Se você é um mantenedor de repositório, há várias maneiras de gerenciar e padronizar as pull requests que os colaboradores criam em seu repositório. Essas etapas podem ajudar você a garantir que as pull requests sejam revisadas pelas pessoas certas e que atendam aos padrões do repositório.
Usando modelos de pull request
Os modelos de pull request permitem personalizar e padronizar as informações que você gostaria de incluir quando alguém cria uma pull request em seu repositório. Quando você adicionar um modelo de pull request ao repositório, os contribuidores do projeto verão automaticamente o conteúdo do modelo no texto da pull request. Para saber mais, confira Criar modelos de pull request no repositório.
Você pode usar modelos de pull requests para padronizar o processo de revisão do repositório. Por exemplo, você pode incluir uma lista de tarefas que gostaria que os autores concluíssem antes de mesclar suas pull requests, adicionando uma lista de tarefas ao modelo. Para saber mais, confira Sobre listas de tarefas.
Você pode solicitar que os colaboradores incluam uma referência de problema no corpo da pull request, para que a mesclagem da pull request feche automaticamente o problema. Para saber mais, confira Vinculando uma pull request a um problema.
Definindo proprietários de código
Você talvez queira garantir que indivíduos específicos sempre revisem as alterações em determinados códigos ou arquivos em seu repositório. Por exemplo, talvez você queira que um redator técnico em sua equipe sempre revise as alterações no docs
diretório.
Você pode definir indivíduos ou equipes que você considera responsáveis pelo código ou arquivos em um repositório como proprietários do código. Quando uma pull request que modifique um código pertencente aos proprietários do código for aberta, eles serão automaticamente solicitados a fazer a revisão. É possível definir proprietários de código para tipos específicos de arquivos ou diretórios, bem como para diferentes branches em um repositório. Para saber mais, confira Sobre os proprietários de código.
Usando branches protegidos
É possível usar branches protegidos para impedir que pull requests sejam mescladas em branches importantes, como main
, até que determinadas condições sejam atendidas. Por exemplo, você pode exigir a aprovação em testes de CI ou uma revisão de aprovação. Para saber mais, confira Sobre branches protegidos.
Usando conjuntos de regras de push
Com os conjunto de regras por push, é possível bloquear envios por push para um repositório privado ou interno e para toda a rede de bifurcação desse repositório com base em extensões de arquivo, comprimentos de caminho de arquivo, caminhos de arquivo e pasta e tamanhos de arquivo.
As regras de push não exigem nenhum direcionamento de branch porque se aplicam a cada envio por push para o repositório.
Os conjuntos de regras por push permitem:
-
Restringir caminhos de arquivo: impedir que confirmações que incluam alterações em caminhos de arquivo especificados sejam enviadas.
É possível usar a sintaxe
fnmatch
para essa finalidade. Por exemplo, uma segmentação de restriçãotest/demo/**/*
impede qualquer envio por push para arquivos ou pastas no diretóriotest/demo/
. Uma segmentação de restriçãotest/docs/pushrules.md
impede envios por push especificamente para o arquivopushrules.md
no diretóriotest/docs/
. Para obter mais informações, confira "Criar conjuntos de regras para um repositório". -
Restringir o comprimento do caminho do arquivo: impedir que confirmações que incluam caminhos de arquivo que excedam um limite de caracteres especificado sejam enviadas.
-
Restringir extensões de arquivo: impedir que confirmações que incluam arquivos com extensões de arquivo especificadas sejam enviadas.
-
Restringir o tamanho do arquivo: impedir que confirmações que excedam um limite de tamanho de arquivo especificado sejam enviadas.
Sobre os conjuntos de regras por push para repositórios bifurcados
As regras de push se aplicam a toda a rede de bifurcação de um repositório, garantindo que cada ponto de entrada do repositório esteja protegido. Por exemplo, se você bifurcar um repositório que tenha conjuntos de regras por push habilitados, os mesmos conjuntos de regras por push também se aplicarão ao repositório bifurcado.
Para um repositório bifurcado, as únicas pessoas que têm permissões de bypass para uma regra de push são as pessoas que têm permissões de bypass no repositório raiz.
Para saber mais, confira Sobre os conjuntos de regras.
Usando ferramentas automatizadas para revisar o estilo do código
Use ferramentas automatizadas, como linters, nas pull requests do repositório para manter o estilo consistente e tornar o código mais compreensível. O uso de ferramentas automatizadas para detectar problemas menores, como erros de digitação ou estilo, deixa mais tempo para os revisores se concentrarem na substância de uma pull request.
Por exemplo, você pode usar GitHub Actions para configurar linters de código que possam ser executados em pull requests como parte do fluxo de trabalho de integração contínua (CI). Para saber mais, confira Sobre a integração contínua com o GitHub Actions.