... | ... | @@ -18,25 +18,59 @@ O Git Flow é uma estratégia de branching que organiza o desenvolvimento e o la |
|
|
|
|
|
### Fluxo de Trabalho
|
|
|
|
|
|
1. **Iniciando uma Nova Feature**
|
|
|
- Crie uma branch `feature/*` a partir de `develop`
|
|
|
- Sempre mantenha a develop atualizada para evitar conflitos ao abrir MR's
|
|
|
1. **Crie ou acesse uma branch**
|
|
|
- Se uma branch **não** existir ainda, crie uma a partir da `develop`:
|
|
|
```bash
|
|
|
git checkout develop
|
|
|
git pull
|
|
|
git checkout -b feature/nome-da-feature
|
|
|
```
|
|
|
- Sempre envie seus commits e mudanças para o repositório remoto para que outros desenvolvedores possam desenvolver em sua branch caso você não finalize a tarefa!
|
|
|
- Se **já** existir, puxe-a para seu computador, e a acesse:
|
|
|
```bash
|
|
|
git fetch
|
|
|
git checkout feature/nome-da-feature
|
|
|
```
|
|
|
- Sempre que for começar a trabalhar na mesma branch, atualize a que existe no seu computador:
|
|
|
```bash
|
|
|
git pull
|
|
|
```
|
|
|
|
|
|
2. **Salve seu trabalho**
|
|
|
- Para que o git registre as alterações que você fez, você precisa fazer um `commit` dos arquivos e pastas alterados, seguindo os padrões descritos na próxima seção:
|
|
|
```bash
|
|
|
git add nome-de-um-arquivo nome-de-uma-pasta
|
|
|
git commit -m "tipo(escopo): descrição"
|
|
|
```
|
|
|
- Caso você queira fazer `commit` de todas as suas alterações, pode alterar o `git add`:
|
|
|
```bash
|
|
|
git add .
|
|
|
git commit -m "O que foi realizado seguindo os Exemplos de Commit"
|
|
|
git push origin feature/nome-da-feature
|
|
|
git commit -m "tipo(escopo): descrição"
|
|
|
```
|
|
|
2. **Concluindo uma Feature**
|
|
|
- Merge Request > New Merge Request > Compare Branches and Continue
|
|
|
- Na *"Source Branch"* designe a sua branch de feature, em *"Target branch"* designe a branch que deseja mesclar suas alterações (comumente será a branch develop)
|
|
|
- Assine seu AGES III ou AGES IV como revisores do Merge
|
|
|
- Requisite o Merge!
|
|
|
|
|
|
3. **Atualize o repositório remoto**
|
|
|
- Se você criou a branch, e ainda não tiver enviado alterações para a remota antes, precisará conectar a branch local à nova branch remota:
|
|
|
```bash
|
|
|
git push --set-upstream origin feature/nome-da-feature
|
|
|
```
|
|
|
- Caso não tenha criado, ou já tenha enviado alterações antes, basta enviar normalmente:
|
|
|
```bash
|
|
|
git push
|
|
|
```
|
|
|
|
|
|
#### Integração das mudanças
|
|
|
|
|
|
Depois de atualizar o repositório remoto com a última alteração de que sua feature precisava, crie uma ***merge request***.
|
|
|
|
|
|
Passo a passo:
|
|
|
1. Entre no repositório que você atualizou, vá ao menu **Merge Requests**, e clique no botão "**New merge request**";
|
|
|
2. Para a **source branch**, selecione a sua branch, e, para a **target branch**, selecione a branch `develop`;
|
|
|
3. Escreva um título e uma descrição para a sua *merge request*;
|
|
|
4. Para **assignee**, defina a você mesmo, e, para **reviewer**, selecione o colega apropriado*;
|
|
|
5. Clique no botão "**Create merge request**" e aguarde a revisão do seu colega.
|
|
|
|
|
|
(\*): Para selecionar o **reviewer**:
|
|
|
- Se você for AGES I, II, ou IV, selecione o AGES III focal do seu squad;
|
|
|
- Se você for AGES III, o AGES IV focal do seu squad.
|
|
|
|
|
|
4. **Correções Urgentes (Hotfixes)**
|
|
|
- Crie uma branch de hotfix a partir da `main`, corrija o problema e mescle tanto na `main` quanto na `develop`.
|
... | ... | |