12k
All articles

Como Criar Pull Requests a partir do seu Terminal

Criação de pull requests pelo terminal com GitHub CLI, gerenciamento de branches, resolução de conflitos e automação de PRs com shell scripts e templates.

OpenReplay Team
OpenReplay Team
Como Criar Pull Requests a partir do seu Terminal

Pull requests (PRs) são fundamentais para o desenvolvimento colaborativo no GitHub, permitindo revisão de código e discussão antes que as alterações sejam mescladas. Este guia explica como criar e gerenciar PRs de forma eficiente usando o terminal, principalmente usando o GitHub CLI (gh).

Principais Aprendizados

  • Aprenda a usar o GitHub CLI para gerenciamento de PRs
  • Domine fluxos de trabalho de PRs baseados em terminal
  • Siga as melhores práticas para criação de PRs
  • Lide com cenários comuns de solução de problemas
  • Implemente recursos avançados de PR

Pré-requisitos

Antes de começar, certifique-se de ter:

Configurando o GitHub CLI

Instalação

Escolha seu sistema operacional:

macOS

# Usando Homebrew
brew install gh

# Usando MacPorts
sudo port install gh

Linux

# Debian/Ubuntu
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo ""deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main"" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh

# Fedora
sudo dnf install gh

# Arch Linux
sudo pacman -S github-cli

Windows

# Usando Scoop
scoop install gh

# Usando Winget
winget install --id GitHub.cli

Autenticação

Após a instalação, autentique-se com o GitHub:

gh auth login

Siga as instruções interativas para completar a autenticação. Você pode escolher entre os protocolos HTTPS ou SSH.

Criando um Pull Request

1. Prepare Seu Branch

# Atualize seu branch main local
git checkout main
git pull origin main

# Crie e mude para um novo branch de feature
git checkout -b feature/nome-da-sua-feature

2. Faça e Confirme Alterações

# Prepare todas as alterações
git add .

# Crie um commit com uma mensagem descritiva
git commit -m ""feat: implementar nova funcionalidade

- Adicionada nova funcionalidade
- Documentação atualizada
- Problemas relacionados corrigidos""

3. Envie as Alterações

# Envie seu branch para o GitHub
git push -u origin feature/nome-da-sua-feature

4. Crie o Pull Request

Usando GitHub CLI (Recomendado)

Criação Básica de PR

gh pr create --title ""Feature: Implementar Nova Funcionalidade"" --body ""Descrição das alterações""

Criação Avançada de PR

gh pr create 
  --title ""Feature: Implementar Nova Funcionalidade"" 
  --body ""## Alterações
- Implementada nova funcionalidade
- Testes atualizados
- Documentação adicionada

## Problemas Relacionados
Fecha #123"" 
  --base main 
  --head feature/nome-da-sua-feature 
  --reviewer usuario1,usuario2 
  --label ""enhancement,documentation"" 
  --milestone ""v1.0.0"" 
  --project ""Quadro de Projeto""

5. Gerenciando Seu PR

# Visualizar PR no navegador
gh pr view --web

# Verificar status do PR
gh pr status

# Listar todos os PRs
gh pr list

# Adicionar revisores ao PR existente
gh pr edit --add-reviewer usuario1,usuario2

# Adicionar etiquetas
gh pr edit --add-label ""priority,bug""

Melhores Práticas

  1. Nomenclatura de Branch
    • Use prefixos descritivos: feature/, fix/, docs/, refactor/
    • Inclua o número da issue, se aplicável: feature/123-autenticacao-usuario
  2. Mensagens de Commit
    • Siga os commits convencionais (Convenção)
    • Inclua escopo e descrição
    • Referencie issues: ""corrige #123""
  3. Descrição do PR
    • Use modelos se disponíveis
    • Inclua contexto e justificativa
    • Liste issues relacionadas e dependências
    • Adicione capturas de tela para alterações de UI
  4. Revisão de Código
    • Responda ao feedback prontamente
    • Atualize a descrição do PR conforme necessário
    • Resolva conflitos rapidamente

Solução de Problemas

Problemas Comuns e Soluções

  1. Falha na Autenticação

    gh auth login --web
    
  2. Push Rejeitado

    git pull origin main
    git rebase main
    git push -f origin feature/nome-da-sua-feature
    
  3. Conflitos de Merge

    git checkout main
    git pull
    git checkout feature/nome-da-sua-feature
    git rebase main
    # Resolva os conflitos e continue
    git rebase --continue
    

Recursos Avançados

PRs de Rascunho

gh pr create --draft

Modelos de PR

Crie .github/pull_request_template.md em seu repositório para descrições padronizadas de PR.

Automatizando a Criação de PR

Você pode criar aliases de shell ou scripts para padrões comuns de PR:

# Adicione ao .bashrc ou .zshrc
alias pr-create='gh pr create --template ""template.md"" --label ""needs-review""'

Lembre-se de manter seu GitHub CLI atualizado para os recursos mais recentes:

# Atualizar GitHub CLI
gh update

Perguntas Frequentes

O que faço se a autenticação falhar?

Use `gh auth login --web` para autenticar através do seu navegador em vez da interface do terminal.

Como lidar com pushes rejeitados?

1. Puxe as alterações mais recentes: `git pull origin main` 2. Rebase seu branch: `git rebase main` 3. Force push: `git push -f origin feature/nome-da-sua-feature`

Como resolvo conflitos de merge?

1. Checkout para main: `git checkout main` 2. Puxe as alterações mais recentes: `git pull` 3. Mude para seu branch: `git checkout feature/nome-da-sua-feature` 4. Rebase: `git rebase main` 5. Resolva conflitos e continue: `git rebase --continue`

Posso criar PRs de rascunho?

Sim, use a flag `--draft`: `gh pr create --draft`

Como uso modelos de PR?

Crie um arquivo `.github/pull_request_template.md` em seu repositório para descrições padronizadas de PR.

Conclusão

Dominar a abordagem baseada em terminal para criar e gerenciar pull requests pode melhorar significativamente seu fluxo de trabalho de desenvolvimento. O GitHub CLI (gh) fornece um poderoso conjunto de ferramentas que agilizam o processo de PR, da criação à mesclagem. Seguindo as melhores práticas descritas neste guia e utilizando os recursos do GitHub CLI, você pode:

  • Economizar tempo evitando alternar entre terminal e navegador
  • Manter uma qualidade consistente de PR através de modelos e convenções
  • Lidar com desafios comuns de PR de forma eficiente
  • Automatizar tarefas repetitivas relacionadas a PR

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers

We use cookies to improve your experience. By using our site, you accept cookies.