close
Skip to main content

Managing and standardizing pull requests

Manage and standardize pull requests using templates, code owners, protected branches, rulesets, and automated tools for consistent and secure repository contributions.

If you maintain a repository, you can use GitHub features to make pull requests more consistent and easier to review. Standardization helps contributors know what information to provide, helps reviewers focus on the right changes, and helps protect important branches from accidental or risky merges.

Using pull request templates

Pull request templates help contributors provide the context your project needs for review. A template can prompt authors to explain the purpose of the change, link related issues, include testing notes, or complete a checklist before requesting review.

Templates are useful when many contributors open pull requests or when your project has review expectations that should be visible every time. See Criar um modelo de pull request para o seu repositório, Sobre as listas de tarefas, and Vinculando uma pull request a um problema.

Defining code owners

Code owners identify the people or teams responsible for specific files or directories. When a pull request changes owned code, GitHub can automatically request a review from the right owners.

Code owners help route reviews to people with the right context. They are especially useful for sensitive areas such as security files, deployment configuration, or shared libraries. See Sobre os proprietários de código.

Using protected branches

Protected branches help keep important branches, such as main, stable. They can require conditions such as passing status checks, signed commits, or approving reviews before a pull request can merge.

Use protected branches when a branch represents production code, a release line, or another important source of truth. See Sobre branches protegidos.

Using rulesets

Rulesets let you enforce repository policies across branches and tags. They can require status checks, workflows, pull request reviews, or other conditions before changes are accepted.

Rulesets are useful when you want consistent rules across multiple branches or when you want to combine review requirements with automated security checks, such as dependency review or code scanning merge protection. See Sobre os conjuntos de regras, Como aplicar a revisão de dependências em uma organização, and Definir proteção contra mesclagem de verificação de código.

Using push rulesets

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ção test/demo/**/* impede qualquer envio por push para arquivos ou pastas no diretório test/demo/. Uma segmentação de restrição test/docs/pushrules.md impede envios por push especificamente para o arquivo pushrules.md no diretório test/docs/. Para saber mais, 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.

Push rulesets help block risky content before it enters the repository. See Sobre os conjuntos de regras.

Using automated tools to review code styling

Automated tools, such as linters and formatters, help keep code style consistent across pull requests. They can catch small issues automatically so reviewers can focus on design, correctness, and maintainability.

You can run these tools as part of a continuous integration workflow with GitHub Actions. See Integração contínua.