Otimize seu fluxo de desenvolvimento no GitHub: Criando Templates de Pull Requests para uma Colaboração Mais Eficiente
Tags: programming, tutorial, github, git
Published: 2024-04-30 13:17:33

Uma feature muito poderosa para equipes de desenvolvimento certamente é a boa utilização das branchs e o fluxo de Pull request’s adequado, mas assim como a maioria dos dev’s que devem estar lendo esse artigo, o tempo é muito curto, e nem sempre é possivel parar e detalher seus PR’s e Issues no Github. Mas digamos que exista uma maneira de agilizar esse processo e que nem muitas pessoas tem conhecimento da ferramenta! 

Bom, o Github atualmente nos oferece a oportunidade de criar templates, sejam pra Issues (que futuramente podem ir parar em um board da própria plataforma), ou até mesmo de PR’s onde se é possível economizar um bom tempo escrevendo as tarefas que foram concluídas!

### Atenção:

Para iniciar esse processo de criação dos templates primeiro alguns detalhes devem estar claros! Os templates de PR e Issue só ficarão disponíveis se estiverem na branch principal do projeto (geralmente a **main** ou **master**), e os mesmos devem ser escritos em arquivos .md (markdown).

## Criando o template de Pull Request

Para começar-mos a criar o template, na raiz do seu projeto deve ser criada uma pasta chamada `.github` que armazenará os templates, dentre outras funções que o github oferece (como as `actions`, mas isso não vem ao caso nesse artigo).

Dentro da pasta você deve criar um arquivo chamado `PULL_REQUEST_TEMPLATE.md` , agora dentro desse mesmo arquivo podemos configurar nosso template de Pull request, como no exemplo a seguir:

```markdown
#### Descrição

<!--
This PR [adds/removes/fixes/replaces] the [feature/bug/etc].
-->

#### Que tipo de PR é este?

- [ ] 🍕 Feature
- [ ] 🐛 Bug Fix
- [ ] 📝 Documentation Update
- [ ] 🎨 Style
- [ ] 🧑‍💻 Code Refactor
- [ ] 🔥 Performance Improvements
- [ ] ✅ Test
- [ ] 🤖 Build
- [ ] 🔁 CI
- [ ] 📦 Chore (Release)
- [ ] ⏩ Revert

<!--
Marque com um "x" na caixa que especifique o tipo de PR

Atenção: Essa seção pode ser retirada pois o git as reconhece como task a serem feitas. (opcional)
-->

#### Documentos e/ou arquivos relacionados

<!--
Please use this format link issue numbers: Fixes #123
or link with a description: [Link to the issue](external link)
-->

#### Prints (se necessário)

<!-- Visual changes require screenshots -->

#### Passos para QA

<!--
Please provide some steps for the reviewer to test your change. If you have wrote tests, you can mention that here instead.

1. Click a link
2. Do this thing
3. Validate you see the thing working
-->

#### Adicionado a documentação?

- [ ] 📜 README.md
- [ ] 📜 CHANGELOG.md
- [ ] 📕 storybook
- [ ] 🙅 no documentation needed
```

> Nota: As anotações em inglês permaneceram pois nos templates que uso, geralmente as PR’s são em inglês.
> 

Bom, com isso concluído, basta salvar o arquivo e subi-lo no github, para isso abra o terminal e digite as seguintes linhas:

```bash
git add . 
```

> Adiciona os novos arquivos
> 

```bash
git commit -m “feat: add pull request template”
```

> Adiciona uma mensagem ao commit (nesse caso estou utilizando o conventional commit)
> 

```bash
git push origin {nome_da_branch_default}
```

> Mude o nome da branch principal e pronto! você agora possui novos templates de pull request, vamos testar?
> 

---

## Testando o template

Agora que você ja criou seu template, chegou a hora de testa-lo, primeiramente, crie uma nova branch baseada na principal (main ou master geralmente), para isso você estando atualmente nela, pode utilizar do seguinte comando:

```bash
git checkout -b {nome_da_nova_branch}
```

> Cria uma nova branch, baseada na que você está no momento
> 

Agora faça alguma alteração no código para fazer um novo commit de teste, e refaça os passos de subir as alterações com os comandos:

```bash
git add . 
```

> Adiciona os novos arquivos
> 

```bash
git commit -m “testando template de pr”
```

> Adiciona uma mensagem ao commit
> 

```bash
git push origin {nome_da_nova_branch}
```

> Mude o nome da nova branch que você criou e pronto!
> 

Agora você pode ir até o repositório no github e validar os novos templates que lá estão na seção de Pull request!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hq1u6ktf9mazeyjefbwa.png)

Agora seu time pode manter um padrão e agilizar a análise de PR’s e descrição das funcionalidades!

E foi isso por hoje pessoal! Agradeço pela leitura do meu primeiro artigo e espero ter ajudado da melhor maneira possível, caso possam compartilhar seria de grande ajuda. Espero postar novos artigos em breve e acredito que sempre irá melhorar a qualidade deles com os feedbacks. Novamente, muito obrigado!