Bem-vindo ao nosso projeto! Este documento é feito para facilitar uma colaboração eficiente e eficaz entre todos os membros da equipe. Aqui você encontrará as informações necessárias para contribuir de forma harmoniosa e produtiva.
Para garantir um ambiente respeitável e inclusivo, leia e siga nosso Código de Conduta.
Depois de configurar tudo direitinho, você vai estar pronto para colocar a mão na massa e fazer suas próprias contribuições. Aqui vai um guia simples de como levar isso para o nosso projeto:
Lembre-se de não enviar commits diretamente para o branch principal. Isso é essencial para manter a organização e integridade do nosso projeto. Ao iniciar um novo trabalho, crie um branch separado a partir do branch de desenvolvimento - ou utilize um já existente apropriado para o desenvolvimento. Você pode seguir as seguintes sugestões de nomes:
feature/<nome-do-recurso> para criar um novo recurso
More Examples:
featorfeature: (new feature for the user, not a new feature for build script)fix: (bug fix for the user, not a fix to a build script)docs: (changes to the documentation)style: (formatting, missing semi colons, etc; no production code change)refactor: (refactoring production code, eg. renaming a variable)test: (adding missing tests, refactoring tests; no production code change)chore: (updating grunt tasks etc; no production code change)
# Ver branch ativo
git branch
# irá aparecer os branches existentes. O branch ativo é aquele que tiver marcado com * e estiver em verde (no Git bash).
# Troca para o branch 'dev'
git checkout dev
# Criar um novo branch e troca para ele
git checkout -b <nome-do-branch> # Ex: feature/quizzes
# JIRA issue
git checkout -b JRA-123-<branch-name>Tem um template que você pode baixar nesse GitHub Gist.
Depois de baixar é só rodar esse comando pra configurar o git.
git config --global commit.template caminho-para-o-arquivo/.git-commit-templateEsse arquivo não pode ser excluído.
Faça suas modificações e, em seguida, o seu commit.
# Garanta que você está na pasta do projeto
pwd
# resposta esperada: ......../scrum-academy
# Add as modificações
# add todas as modificações para serem comitadas
git add .
# ou
# add file1 e file2 presentes em 'src' para serem comitados
git add src/file1 src/file2
# Mostra modificações no repo desde o último commit, e os arquivos que estão em Stage
git status
# Resultado:
# On branch dev - indica que vc está no branch dev
# Changes to be committed - o que vc add ao stage
# Changes not staged for commit - o que NÃO será commitado
# Untracked files - arquivos novos que não serão commitados
# Faz o commit
git commit -m "O que o meu commit está modificando/adicionando."
# altere a mensagem. Tente explicar suscintamente o que o seu commit está adicionando ou alterando
# obs.: você pode commitar uma coisa de cada vez. Por ex.: primeiro commita o Header, depois commita o Footer, em 2 commits.
# JIRA
git commit -m "JRA-123 <commit message>"Lembre-se de não enviar para o branch principal do projeto. Por isso, garanta que você está no branch 'dev'. Dê uma olhada em Branching, se precisar.
Há dois repos com os quais estamos trabalhando:
- O repo remoto (no GitHub) que centraliza as modificações que todos fazem. Funciona como um servidor
- O repo local (na sua máquina) que é uma cópia do repo remoto.
# Garanta que você está no branch que você criou
# ver Branches
git push -u origin <nome-do-branch>Assim, nós podemos criar coisas no Git que serão sincronizadas automaticamente no Jira. Para isso, precisa colocar o código da Tarefa do Jira (por ex.: ALP-12) nos nomes/mensagens no Git.
Isso é feito relacionadas a essas 3 ações do Git:
- Nome do Branch
git checkout -b ALP-123-<branch-name> - Mensagem de commit
git commit -m "ALP-123 <commit message>" - Nome de um PR
Referência: https://support.atlassian.com/jira-software-cloud/docs/reference-issues-in-your-development-work/
Existe também a possibilidade de realizar ações no Jira pela sua mensagem no commit, chamados Smart Commits. Por exemplo, para fechar uma tarefa através da sua mensagem do commit.
git commit -m "ALP-12 Add.....
ALP-12 #closeO Jira irá fechar a tarefa automaticamente por causa da última linha
Se tudo estiver pronto para fazer merge no branch de desenvolvimento, abra o GitHub e crie um Pull Request.
- Abra o repositório pela interface do GitHub
- Clica na aba Pull Request
- Aperta no botão New Pull Request
- Seleciona o branch
devà esquerda e o seu branch à direita - Aperta em Create Pull Request
- Escreve uma mensagem sobre as modificações feitas e aperta em Create Pull Request
- Agora, alguém irá validar as suas modificações
- Após a aprovação de outro integrante, você poderá fazer Merge
- Se tiver confilitos, você pode resolver apertando em Resolve conflicts
Se outro integrante criar um Pull Request, você pode aprovar (se estiver pronto para fazer merge) ou sugerir melhorias (para o autor aprimorar o projeto). Os dois tópicos a seguir indicam como realizar essas operações.
- On the pull request, click Files changed.
- Click Review changes.
- Add a comment on your initial thoughts
- Select comment, approve or request changes on the pull request.
- Click Submit review.
-
On the pull request, click Files changed.
-
Find the
index.htmlchanges. -
Hover your cursor next to the line numbers on the left side of the page.
-
Click the blue plus icon.
-
After the comment form appears, click the Add a suggestion button.
-
Edit the suggestion.
-
Click Add a single comment.
Se tudo deu certo e você não vai mais precisar do branch que você criou, você pode apagar do repo remoto e do seu repo local.
# excluir branch do local
git branch -d <nome-do-branch>
# excluir branch do remote repo
git push -d origin <nome-do-branch>
# Se precisar excluir o branch sem ter feito o merge, use `-D` ao invés de `-d`. Mas CUIDADO porque isso irá apagar todos os commits dele.- Crie um novo branch
- Faça suas modificações
- Pelo terminal, navegue até o diretório raiz do projeto
- Add modificações ao stage
- Commit essas modificações
- Push seu branch para o repo remoto
- Cria um PR
- Espera a Review de um membro da equipe
- Faça modificações, se forem sugeridas
- Faça o merge, quando tudo estiver pronto
- Exclua os branches do repo remoto e local, se não for mais os usar
Isso garante que todos os contribuidores sigam as mesmas normas de formatação, o que resulta em um código mais limpo e fácil de manter.
Algumas extensões indicadas lá em cima auxiliam na formatação do código. Como exemplos, a Editorconfig e a Black Formatter.
No VSCode, alguns atalhos facilitam a formatação do código:
-
Shift + alt + F(Windows) |Ctrl + Shift + I(Linux) - formata o código -
Ctrl + Shift + M: abre a aba do relatório de Problemas -
Python Guideline: Python official guidelines - PEP8.
Veja o Markdown Cheat Sheet.
Instale as extensões de Markdown para facilitar o uso no vscode - clique aqui.
Ninguém faz nada sozinho, e cada contribuição importa! 🌟 A colaboração de cada um é essencial para avançarmos de forma sólida e construtiva. Vamos manter o bom trabalho e reconhecer cada passo que nos leva adiante.

