... | ... | @@ -9,14 +9,87 @@ Esta página descreve os processos utilizados pelo time ao longo do projeto. |
|
|
|
|
|
- [Desenvolvimento](#desenvolvimento)
|
|
|
- [Fluxo de trabalho no Git](#fluxo-de-trabalho-no-git)
|
|
|
- [Padronização](#padronizacao)
|
|
|
- [Padronização](#padronização)
|
|
|
|
|
|
## Desenvolvimento
|
|
|
|
|
|
### Fluxo de trabalho no Git
|
|
|
|
|
|
TODO
|
|
|
Como modelo de fluxo de trabalho no Git iremos nos basear no Git Flow, para termos um maior controle sobre as alterações sendo realizadas no projeto, por meio de Merge Requests, e para conseguirmos lidar bem com muitas pessoas realizando alterações em um repositório ao mesmo tempo.
|
|
|
|
|
|
#### Branches
|
|
|
|
|
|
Neste modelo, cada repositório possui duas branches principais:
|
|
|
|
|
|
- **develop** - branch utilizada durante o desenvolvimento, onde todas as novas funcionalidades e correções que ainda não foram publicadas no ambiente de produção serão mergeadas.
|
|
|
- **master** - branch cujo código é utilizado no ambiente de produção (AWS), onde novas versões/releases serão mergeadas quando estiverem prontas para serem publicadas.
|
|
|
|
|
|
Além disso, para realizar alterações no projeto, podem ser criados outros 2 tipos de branch:
|
|
|
|
|
|
- **feature branch** - branch criada a partir da develop para desenvolvimento de uma nova funcionalidade. Por padrão, seu nome deve iniciar com "feat", seguido de uma breve descrição da funcionalidade, a exemplo de "feat/tela-login".
|
|
|
- **fix branch** - branch criada a partir da develop para desenvolvimento de correções de bugs. Por padrão, seu nome deve iniciar com "fix", seguido de uma menção do que foi alterado, a exemplo de "fix/campo-usuario-login".
|
|
|
|
|
|
#### Passo-a-passo
|
|
|
|
|
|
Quando precisar fazer uma alteração em um dos repositórios do projeto, o primeiro passo será garantir que você está com o seu repositório local atualizado. Para isso, vá até a branch main e atualize o seu respositório local a partir do repositório remoto, utilizando os comandos abaixo:
|
|
|
|
|
|
```shell
|
|
|
git checkout main
|
|
|
git pull origin main
|
|
|
```
|
|
|
|
|
|
Em seguida, crie uma branch de feature ou fix a partir da branch develop:
|
|
|
|
|
|
```shell
|
|
|
git checkout develop
|
|
|
git checkout -b <nome-da-nova-branch>
|
|
|
```
|
|
|
|
|
|
Após a criação envie esta nova branch para o repositório remoto, para que o restante da equipe também consiga visualizar esta branch:
|
|
|
|
|
|
```shell
|
|
|
git push --set-upstream origin <nome-da-nova-branch>
|
|
|
```
|
|
|
|
|
|
Concluídas essas etapas, você pode iniciar o desenvolvimento na nova branch, realizando commits periodicamente para registrar suas alterações no Git e evitar que o código seja perdido em caso de imprevistos.
|
|
|
|
|
|
**IMPORTANTE:** Certifique sempre que as alterações sendo commitadas são necessárias e não possuem dados sensíveis! Use sua IDE como apoio para visualizar as mudanças feitas
|
|
|
|
|
|
```shell
|
|
|
#Adicionar arquivo a staging area para ser registrados no próximo commit
|
|
|
git add <nome-de-arquivo>
|
|
|
#Realizar commit
|
|
|
git commit -m"Mensagem do commit"
|
|
|
#Envie commits para repositório remoto
|
|
|
git push origin <nome-da-nova-branch>
|
|
|
```
|
|
|
|
|
|
Quando o desenvolvimento na nova branch foi concluído, deve-se então abrir um **Merge Request** para solicitar que esta branch seja mesclada com a develop. Para isso, acesse a seção "Merge Requests" da página do repositório no GitLab, conforme imagem abaixo:
|
|
|
|
|
|
<img src="./resources/images/gitlab-aba-merge-request.png" width="180">
|
|
|
|
|
|
Nesta seção, selecione a opção "New Merge Request" e clique no botão "Change branches" para selecionar as branches as quais você deseja mesclar. Neste momento, devem ser selecionadas:
|
|
|
|
|
|
- **Source branch** - sua feature ou fix branch onde foram implementadas as novas alterações
|
|
|
- **Target branch** - develop
|
|
|
|
|
|
Selecionadas as branches, confira os arquivos sendo alterados em "Compare branches", e então continue.
|
|
|
|
|
|
Antes de abrir o Merge Request clicando no botão de "Submit", os campos abaixo também devem ser preenchidos obrigatoriamente para serem revisados:
|
|
|
|
|
|
- **Título** - <tipo da tarefa (fix ou feat)>/<descrição da tarefa>
|
|
|
- **Descrição** - descrição da tarefa e/ou das mudanças no código. Caso seja uma alteração no repositório de frontend, colocar também um print dos estados da tela ou do componente desenvolvido.
|
|
|
- **Assignee** - integrante da equipe responsável pelo desenvolvimento da tarefa.
|
|
|
- **Milestone** - sprint na qual a tarefa foi realizada.
|
|
|
|
|
|
Após abertura do Merge Request, o MR será revisado por colegas de equipe.
|
|
|
|
|
|
TODO definir como será feita a revisão
|
|
|
|
|
|
Uma vez que a revisão tenha sido concluída e todos os pontos de ajuste apontados tenham sido commitador na Source Branch, realize o merge e envie as alterações à branch develop.
|
|
|
|
|
|
No final de cada Sprint, para gerar uma nova versão do projeto a ser apresentada para o cliente, deve ser aberto um Merge Request para realizar o merge da branch develop na branch master, atualizando o código de produção com os desenvolvimentos realizados durante a sprint.
|
|
|
|
|
|
### Padronização
|
|
|
|
|
|
TODO |
|
|
\ No newline at end of file |
|
|
TODO |