Home | Escopo | Git Workflow | Design/Mockups | Configuração | Arquitetura | Gerência | BD | Qualidade |
---|
Sumário
- Sumário
Critério de aceite de Merge Requests (MR)
- Branch testada;
- Branch atualizada com a DEV;
- Arquitetura Respeitada;
- Código Limpo;
- Boas práticas atendidas.
Opções de Ferramentas
GitKraken
- Download do GitKraken.
essa ferramenta facilita o uso do git através de uma interface intuitiva
GitBash (Windows)
- Download do GitBash.
Modelo GitFlow
- O Gitflow é um modelo alternativo de ramificação do Git que consiste no uso de ramificações de recursos (features) e várias ramificações primárias (
main
edevelopment
).
Branches protegidas
Main
Principal branch, aqui é onde temos todo o código de produção. Todas as novas funcionalidades que estão sendo desenvolvidas, em algum momento, serão mescladas ou associadas a Main. A branch é protegida e só pode ser alterada a partir de Merge Requests vindo diretamente da branch develop ou de branches de hotfix. Apenas AGES III e IV podem fazer merge dos MRs e realizar alterações nessa branch.
Develop
É a branch onde fica o código do próximo deploy. Ela serve como uma linha do tempo com os últimos desenvolvimentos, isso significa que ela possui funcionalidades que ainda não foram publicadas e que posteriormente vão ser associadas com a branch Main. Essa branch é protegida para modificação que não seja através de Merge Requests. Qualquer AGES pode criar um MR para a brach de desenvolvimento.
Branches não protegidas
Feature
São branches utilizadas para o desenvolvimento de funcionalidades específicas. É importante saber que essas branches são criadas sempre a partir da branch develop. Portanto, quando finalizada, elas são removidas após realizar o merge com a branch develop.
Fix
É uma branch para correção de bugs identificados ainda em desenvolvimento. Após o merge com a develop elas são removidas.
Hotflix
É uma branch criada a partir da main para realizar correções imediatas encontradas no sistema em produção. Quando concluída, ela é excluída após realizar o merge com as branches main e develop.
Chore
É uma branch para configuração. O padrão de nomenclatura é chore/ onde representa uma breve descrição do que está sendo configurado nessa branch. Exemplo: chore/pipeline-ci.
Padrão para criação de branches
As branches criadas para desenvolvimento das funcionalidades pelas squads devem seguir o padrão de acordo com seu objetivo:
Tags para os tipos de alterações:
- feature - Nova funcionalidade
- fix - Correção de defeito
- hotflix - Correção de bug em produção
- chore - Configuração
feature/NUMERO_US_BREVE_DESCRICAO
Exemplo: feature/US_01_Feed_Destaques
Padrão para as mensagens de commit
Os commits deverão ter um padrão em suas mensagens para facilitar o entendimento da equipe no que foi desenvolvido:
"Descrição breve do commit - Autores (caso realizado em equipe)"
Exemplo: "Criação do Feed Destaques - Autores: Felipe Baptista e Gabriel Spiandorello"
OBS: Caso as atividades do commit tenham sido realizadas individualmente não é necessário informar os autores, porque a única pessoa envolvida será quem está subindo o commit.
Padrão para abertura de Merge Request
Todo MR deve ter obrigatoriamente a aprovação de um AGES III ou de um AGES IV antes de ser mergeada para a develop. Os merge requests também devem seguir um padrão de criação:
O Title deve ser escrito US XX - Título do Card no Azure
e na Description deve ser informado o link para o card.
Exemplo:
Title: US 01 - Feed Destaques
Description: link do card do Azure
Comandos básicos
- clonar um repositório:
git clone ADICIONAR URL
- verificar o status do repositório:
git status
- CRIAR uma nova branch:
git checkout -b <branch desejada>
- ALTERNAR para uma branch:
git checkout <branch desejada>
- add arquivos alterados e dar um commit na branch:
git commit -a -m 'adicionei um novo rodapé [issue 53]'
- primeira vez a enviar os dados para o repositório.
git push origin <branch desejada>
- reenviar os dados para o repositório.
git push
- baixar os dados do repositório.
git pull
- fazer um merge em duas branch's.
git merge <nome da branch>