Este repositório foi criado com base no repositório do user @iuricode e busca padronizar o commits e o sugerir um workflow aos colaboradores que utilizam as ferramentas Git e Github dentro da empresa.
O commit semântico possui os elementos estruturais abaixo (tipos), que informam a intenção do seu commit ao utilizador(a) de seu código.
-
fix
- Commits do tipo fix indicam que seu trecho de código commitado está solucionando um problema (bug fix), (se relaciona com o PATCH do versionamento semântico). -
feat
- Commits do tipo feat indicam que seu trecho de código está incluindo um novo recurso (se relaciona com o MINOR do versionamento semântico). -
docs
- Commits do tipo docs indicam que houveram mudanças na documentação, como por exemplo no Readme do seu repositório. (Não inclui alterações em código). -
style
- Commits do tipo style indicam que houveram alterações referentes a formatações de código, semicolons, trailing spaces, lint... (Não inclui alterações em código). -
refactor
- Commits do tipo refactor referem-se a mudanças devido a refatorações que não alterem sua funcionalidade, como por exemplo, uma alteração no formato como é processada determinada parte da tela, mas que manteve a mesma funcionalidade, ou melhorias de performance devido a um code review. -
build
- Commits do tipo build são utilizados quando são realizadas modificações em arquivos de build e dependências. -
test
- Commits do tipo test são utilizados quando são realizadas alterações em testes, seja criando, alterando ou excluindo testes unitários. (Não inclui alterações em código) -
chore
- Commits do tipo chore indicam atualizações de tarefas de build, configurações de administrador, pacotes... como por exemplo adicionar um pacote no gitignore. (Não inclui alterações em código)
- Aplicar o sufixo
'...: ref issue #00'
para referenciarmos a issue aberta através da mensagem de commit, sendo 00 substituido pelo número da issue.
-
partial
- Commits do tipo partial são utilizados quando são realizadas alterações parciais dentro da branch utilizada que ja carregam uma quantidade relevante de modificações. -
final
- Commits do tipo final indicam que a issue ja foi completamente resolvida e que esta é a versão final para ser realizada um merge junto à branch master.
Após a abertura da issue pelo admin do projeto, em seu ambiente de trabalho seguir os seguintes comandos (exemplo campo novo no app):
- Acessar a branch principal do repositório (geralmente master ou main) e importar os dados mais recentes do repositório remoto:
git checkout master
git pull master
- Em seguida criar uma nova branch com o tipo de tarefa a ser realizada e o nome da tarefa:
git checkout -b feat/campo-novo
- Apos concluir a tarefa ou a etapa, adicionar os arquivos editados para a staging area:
git add . # para adicionar todos os arquivos editados
git add arquivo.py # para adicionar somente o arquivo desejado
- Realizar um 'save' das edições armazenadas no staging area através do git commit atendendo aos padrões de commits e utilizando o sufixo, em seguida realizar um push no repositório remoto:
git commit -m 'feat (campo-novo): ref issue #93 - final'
git push
- Após realizar o push no repositório remoto, solicitar um pull request dentro do Github selecionando a branch principal e a branch referente a issue solucionada e aguardar a aprovação do admin do projeto.
Tipo de commit | Emojis | Palavra-chave |
---|---|---|
Acessibilidade | ♿ :wheelchair: |
|
Adicionando um teste | ✅ :white_check_mark: |
test |
Adicionando uma dependência | ➕ :heavy_plus_sign: |
build |
Alterações de revisão de código | 👌 :ok_hand: |
style |
Animações e transições | 💫 :dizzy: |
|
Bugfix | 🐛 :bug: |
fix |
Comentários | 💡 :bulb: |
docs |
Commit inicial | 🎉 :tada: |
init |
Configuração | 🔧 :wrench: |
chore |
Deploy | 🚀 :rocket: |
|
Documentação | 📚 :books: |
docs |
Em progresso | 🚧 :construction: |
|
Estilização de interface | 💄 :lipstick: |
feat |
Infraestrutura | 🧱 :bricks: |
ci |
Lista de ideias (tasks) | 🔜 :soon: |
|
Mover/Renomear | 🚚 :truck: |
chore |
Novo recurso | ✨ :sparkles: |
feat |
Package.json em JS | 📦 :package: |
build |
Performance | ⚡ :zap: |
perf |
Refatoração | ♻️ :recycle: |
refactor |
Removendo um arquivo | 🔥 :fire: |
|
Removendo uma dependência | ➖ :heavy_minus_sign: |
build |
Responsividade | 📱 :iphone: |
|
Revertendo mudanças | 💥 :boom: |
fix |
Segurança | 🔒️ :lock: |
|
SEO | 🔍️ :mag: |
|
Tag de versão | 🔖 :bookmark: |
|
Teste de aprovação | ✔️ :heavy_check_mark: |
test |
Testes | 🧪 :test_tube: |
test |
Texto | 📝 :pencil: |
|
Tipagem | 🏷️ :label: |
|
Tratamento de erros | 🥅 :goal_net: |
Comando git | Resultado no GitHub |
---|---|
git commit -m ":tada: Commit inicial"
|
🎉 Commit inicial |
git commit -m ":books: docs: Atualizaçao do README"
|
📚 docs: Atualizaçao do README |
git commit -m ":bug: fix: Loop infinito na linha 50"
|
🐛 fix: Loop infinito na linha 50 |
git commit -m ":sparkles: feat: Pagina de login"
|
✨ feat: Pagina de login |
git commit -m ":bricks: ci: Modificaçao no Dockerfile"
|
🧱 ci: Modificaçao no Dockerfile |
git commit -m ":recycle: refactor: Passando para arrow functions"
|
♻️ refactor: Passando para arrow functions |
git commit -m ":zap: perf: Melhoria no tempo de resposta"
|
⚡ perf: Melhoria no tempo de resposta |
git commit -m ":boom: fix: Revertendo mudanças ineficientes"
|
💥 fix: Revertendo mudanças ineficientes |
git commit -m ":lipstick: feat: Estilizaçao CSS do formulario"
|
💄 feat: Estilizaçao CSS do formulario |
git commit -m ":test_tube: test: Criando novo teste"
|
🧪 test: Criando novo teste |
git commit -m ":bulb: docs: Comentários sobre a função LoremIpsum( )"
|
💡 docs: Comentários sobre a função LoremIpsum( ) |