{"id":13404426,"url":"https://github.com/iuricode/padroes-de-commits","last_synced_at":"2025-05-12T15:24:27.443Z","repository":{"id":37476267,"uuid":"327416530","full_name":"iuricode/padroes-de-commits","owner":"iuricode","description":"Padrões de commits","archived":false,"fork":false,"pushed_at":"2025-02-27T11:54:01.000Z","size":78,"stargazers_count":7628,"open_issues_count":1,"forks_count":1159,"subscribers_count":70,"default_branch":"main","last_synced_at":"2025-04-23T17:15:03.731Z","etag":null,"topics":["commit","commits","git"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iuricode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-06T19:58:13.000Z","updated_at":"2025-04-23T15:17:41.000Z","dependencies_parsed_at":"2023-02-12T17:45:52.976Z","dependency_job_id":"4f8ea295-e966-451f-901b-9c160e366e61","html_url":"https://github.com/iuricode/padroes-de-commits","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuricode%2Fpadroes-de-commits","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuricode%2Fpadroes-de-commits/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuricode%2Fpadroes-de-commits/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuricode%2Fpadroes-de-commits/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iuricode","download_url":"https://codeload.github.com/iuricode/padroes-de-commits/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253764233,"owners_count":21960543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commit","commits","git"],"created_at":"2024-07-30T19:01:45.001Z","updated_at":"2025-05-12T15:24:27.411Z","avatar_url":"https://github.com/iuricode.png","language":"Shell","funding_links":[],"categories":["Shell","Others"],"sub_categories":[],"readme":"# Padrões de commits 📜\r\n\r\nDe acordo com a documentação do **[Conventional Commits](https://www.conventionalcommits.org/pt-br)**, commits semânticos são uma convenção simples para ser utilizada nas mensagens de commit. Essa convenção define um conjunto de regras para criar um histórico de commit explícito, o que facilita a criação de ferramentas automatizadas.\r\n\r\nEsses commits auxiliarão você e sua equipe a entenderem de forma facilitada quais alterações foram realizadas no trecho de código que foi commitado.\r\n\r\nEssa identificação ocorre por meio de uma palavra e emoji que identifica se aquele commit realizado se trata de uma alteração de código, atualização de pacotes, documentação, alteração de visual, teste...\r\n\r\n## Tipo e descrição 🦄\r\n\r\nO commit semântico possui os elementos estruturais abaixo (tipos), que informam a intenção do seu commit ao utilizador(a) de seu código.\r\n\r\n- `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).\r\n\r\n- `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).\r\n\r\n- `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).\r\n\r\n- `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)\r\n\r\n- `build` - Commits do tipo build são utilizados quando são realizadas modificações em **arquivos de build e dependências**.\r\n\r\n- `perf` - Commits do tipo perf servem para identificar quaisquer alterações de código que estejam relacionadas a **performance**.\r\n\r\n- `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).\r\n\r\n- `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.\r\n\r\n- `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)\r\n\r\n- `ci` - Commits do tipo ci indicam mudanças relacionadas a **integração contínua** (_continuous integration_).\r\n\r\n- `raw` - Commits do tipo raw indicam mudanças relacionadas a arquivos de configurações, dados, features, parâmetros.\r\n\r\n- `cleanup` - Commits do tipo cleanup são utilizados para remover código comentado, trechos desnecessários ou qualquer outra forma de limpeza do código-fonte, visando aprimorar sua legibilidade e manutenibilidade.\r\n\r\n- `remove` - Commits do tipo remove indicam a exclusão de arquivos, diretórios ou funcionalidades obsoletas ou não utilizadas, reduzindo o tamanho e a complexidade do projeto e mantendo-o mais organizado.\r\n\r\n## 🛠️ Como instalar o arquivo `commit-msg.sh` para validar mensagens de commits com conventional commits\r\n\r\n### Passo 1: Certifique-se de que o Git está instalado 🌟\r\n\r\nAntes de tudo, verifique se o Git está instalado na sua máquina. Abra o terminal e execute:\r\n\r\n```bash\r\ngit --version\r\n```\r\n\r\nSe você receber uma versão do Git como resposta, está tudo certo! Caso contrário, baixe e instale o Git aqui: [Git Downloads](https://git-scm.com/downloads).\r\n\r\n### Passo 2: Localize o arquivo `commit-msg.sh` 📂\r\n\r\nO arquivo `commit-msg.sh` deve estar disponível no repositório do seu projeto ou em um diretório específico. Certifique-se de que ele está acessível. Se não estiver, faça o download ou clone o repositório onde ele está localizado.\r\n\r\nPor exemplo:\r\n\r\n```bash\r\ngit clone https://github.com/seu-repositorio/projeto.git\r\ncd projeto\r\n```\r\n\r\n### Passo 3: Crie o diretório `.git/hooks` (se ainda não existir) 📁\r\n\r\nOs hooks do Git ficam no diretório `.git/hooks`. Verifique se ele existe no seu projeto:\r\n\r\n```bash\r\nls -la .git/hooks\r\n```\r\n\r\nSe o diretório não existir, crie-o:\r\n\r\n```bash\r\nmkdir -p .git/hooks\r\n```\r\n\r\n### Passo 4: Copie o arquivo `commit-msg.sh` para o diretório `.git/hooks` 📋\r\n\r\nCopie o arquivo `commit-msg.sh` para o diretório `.git/hooks` e renomeie-o para `commit-msg` (sem extensão):\r\n\r\n```bash\r\ncp caminho/para/commit-msg.sh .git/hooks/commit-msg\r\n```\r\n\r\n\u003e **Nota:** Substitua `caminho/para/commit-msg.sh` pelo caminho real do arquivo.\r\n\r\n### Passo 5: Dê permissão de execução ao script ✅\r\n\r\nPara que o Git possa executar o script, você precisa dar permissão de execução:\r\n\r\n```bash\r\nchmod +x .git/hooks/commit-msg\r\n```\r\n\r\n### Passo 6: Teste o hook de commit 💻\r\n\r\nAgora, tente fazer um commit no seu projeto. Por exemplo:\r\n\r\n```bash\r\ngit add .\r\ngit commit -m \"feat: adicionar funcionalidade xyz\"\r\n```\r\n\r\nSe a mensagem de commit seguir o padrão **Conventional Commits**, o commit será aceito. Caso contrário, o hook irá bloquear o commit e exibir uma mensagem de erro.\r\n\r\n### Passo 7: Personalize o script (opcional) 🎨\r\n\r\nSe necessário, abra o arquivo `.git/hooks/commit-msg` em um editor de texto e personalize as regras de validação para atender às necessidades do seu projeto.\r\n\r\n## Recomendações 🎉\r\n\r\n- Adicione um tipo consistente com o título do conteúdo.\r\n- Recomendamos que na primeira linha deve ter no máximo 4 palavras.\r\n- Para descrever com detalhes, usar a descrição do commit.\r\n- Usar um emoji no início da mensagem de commit representando sobre o commit.\r\n- Os links precisam ser adicionados em sua forma mais autêntica, ou seja: sem encurtadores de link e links afiliados.\r\n\r\n## Complementos de commits 💻\r\n\r\n- **Rodapé:** informação sobre o revisor e número do card no Trello ou Jira. Exemplo: Reviewed-by: Elisandro Mello Refs #133\r\n- **Corpo:** descrições mais precisas do que está contido no commit, apresentando impactos e os motivos pelos quais foram empregadas as alterações no código, como também instruções essenciais para intervenções futuras. Exemplo: see the issue for details on typos fixed.\r\n- **Descrições:** uma descrição sucinta da mudança. Exemplo: correct minor typos in code\r\n\r\n## Padrões de emojis 💈\r\n\r\n\u003ctable\u003e\r\n  \u003cthead\u003e\r\n    \u003ctr\u003e\r\n      \u003cth\u003eTipo do commit\u003c/th\u003e\r\n      \u003cth\u003eEmoji\u003c/th\u003e\r\n      \u003cth\u003ePalavra-chave\u003c/th\u003e\r\n    \u003c/tr\u003e\r\n  \u003c/thead\u003e\r\n \u003ctbody\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eAcessibilidade\u003c/td\u003e\r\n      \u003ctd\u003e♿ \u003ccode\u003e:wheelchair:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eAdicionando um teste\u003c/td\u003e\r\n      \u003ctd\u003e✅ \u003ccode\u003e:white_check_mark:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003etest\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eAtualizando a versão de um submódulo\u003c/td\u003e\r\n      \u003ctd\u003e⬆️ \u003ccode\u003e:arrow_up:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eRetrocedendo a versão de um submódulo\u003c/td\u003e\r\n      \u003ctd\u003e⬇️ \u003ccode\u003e:arrow_down:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eAdicionando uma dependência\u003c/td\u003e\r\n      \u003ctd\u003e➕ \u003ccode\u003e:heavy_plus_sign:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003ebuild\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eAlterações de revisão de código\u003c/td\u003e\r\n      \u003ctd\u003e👌 \u003ccode\u003e:ok_hand:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003estyle\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eAnimações e transições\u003c/td\u003e\r\n      \u003ctd\u003e💫 \u003ccode\u003e:dizzy:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eBugfix\u003c/td\u003e\r\n      \u003ctd\u003e🐛 \u003ccode\u003e:bug:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003efix\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eComentários\u003c/td\u003e\r\n      \u003ctd\u003e💡 \u003ccode\u003e:bulb:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003edocs\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eCommit inicial\u003c/td\u003e\r\n      \u003ctd\u003e🎉 \u003ccode\u003e:tada:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003einit\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eConfiguração\u003c/td\u003e\r\n      \u003ctd\u003e🔧 \u003ccode\u003e:wrench:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003echore\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eDeploy\u003c/td\u003e\r\n      \u003ctd\u003e🚀 \u003ccode\u003e:rocket:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eDocumentação\u003c/td\u003e\r\n      \u003ctd\u003e📚 \u003ccode\u003e:books:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003edocs\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eEm progresso\u003c/td\u003e\r\n      \u003ctd\u003e🚧 \u003ccode\u003e:construction:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eEstilização de interface\u003c/td\u003e\r\n      \u003ctd\u003e💄 \u003ccode\u003e:lipstick:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003efeat\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eInfraestrutura\u003c/td\u003e\r\n      \u003ctd\u003e🧱 \u003ccode\u003e:bricks:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003eci\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eLista de ideias (tasks)\u003c/td\u003e\r\n      \u003ctd\u003e🔜 \u003ccode\u003e :soon: \u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eMover/Renomear\u003c/td\u003e\r\n      \u003ctd\u003e🚚 \u003ccode\u003e:truck:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003echore\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eNovo recurso\u003c/td\u003e\r\n      \u003ctd\u003e✨ \u003ccode\u003e:sparkles:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003efeat\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003ePackage.json em JS\u003c/td\u003e\r\n      \u003ctd\u003e📦 \u003ccode\u003e:package:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003ebuild\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003ePerformance\u003c/td\u003e\r\n      \u003ctd\u003e⚡ \u003ccode\u003e:zap:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003eperf\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n        \u003ctd\u003eRefatoração\u003c/td\u003e\r\n        \u003ctd\u003e♻️ \u003ccode\u003e:recycle:\u003c/code\u003e\u003c/td\u003e\r\n        \u003ctd\u003e\u003ccode\u003erefactor\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eLimpeza de Código\u003c/td\u003e\r\n      \u003ctd\u003e🧹 \u003ccode\u003e:broom:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003ecleanup\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eRemovendo um arquivo\u003c/td\u003e\r\n      \u003ctd\u003e🗑️ \u003ccode\u003e:wastebasket:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003eremove\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eRemovendo uma dependência\u003c/td\u003e\r\n      \u003ctd\u003e➖ \u003ccode\u003e:heavy_minus_sign:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003ebuild\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eResponsividade\u003c/td\u003e\r\n      \u003ctd\u003e📱 \u003ccode\u003e:iphone:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eRevertendo mudanças\u003c/td\u003e\r\n      \u003ctd\u003e💥 \u003ccode\u003e:boom:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003efix\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eSegurança\u003c/td\u003e\r\n      \u003ctd\u003e🔒️ \u003ccode\u003e:lock:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eSEO\u003c/td\u003e\r\n      \u003ctd\u003e🔍️ \u003ccode\u003e:mag:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eTag de versão\u003c/td\u003e\r\n      \u003ctd\u003e🔖 \u003ccode\u003e:bookmark:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eTeste de aprovação\u003c/td\u003e\r\n      \u003ctd\u003e✔️ \u003ccode\u003e:heavy_check_mark:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003etest\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eTestes\u003c/td\u003e\r\n      \u003ctd\u003e🧪 \u003ccode\u003e:test_tube:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003etest\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eTexto\u003c/td\u003e\r\n      \u003ctd\u003e📝 \u003ccode\u003e:pencil:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eTipagem\u003c/td\u003e\r\n      \u003ctd\u003e🏷️ \u003ccode\u003e:label:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eTratamento de erros\u003c/td\u003e\r\n      \u003ctd\u003e🥅 \u003ccode\u003e:goal_net:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003eDados\u003c/td\u003e\r\n      \u003ctd\u003e🗃️ \u003ccode\u003e:card_file_box:\u003c/code\u003e\u003c/td\u003e\r\n      \u003ctd\u003e\u003ccode\u003eraw\u003c/code\u003e\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n  \u003c/tbody\u003e\r\n\u003c/table\u003e\r\n\r\n## 💻 Exemplos\r\n\r\n\u003ctable\u003e\r\n  \u003cthead\u003e\r\n    \u003ctr\u003e\r\n      \u003cth\u003eComando Git\u003c/th\u003e\r\n      \u003cth\u003eResultado no GitHub\u003c/th\u003e\r\n    \u003c/tr\u003e\r\n  \u003c/thead\u003e\r\n \u003ctbody\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":tada: Commit inicial\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🎉 Commit inicial\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":books: docs: Atualização do README\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e📚 docs: Atualização do README\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":bug: fix: Loop infinito na linha 50\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🐛 fix: Loop infinito na linha 50\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":sparkles: feat: Página de login\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e✨ feat: Página de login\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":bricks: ci: Modificação no Dockerfile\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🧱 ci: Modificação no Dockerfile\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":recycle: refactor: Passando para arrow functions\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e♻️ refactor: Passando para arrow functions\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":zap: perf: Melhoria no tempo de resposta\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e⚡ perf: Melhoria no tempo de resposta\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":boom: fix: Revertendo mudanças ineficientes\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e💥 fix: Revertendo mudanças ineficientes\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":lipstick: feat: Estilização CSS do formulário\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e💄 feat: Estilização CSS do formulário\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":test_tube: test: Criando novo teste\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🧪 test: Criando novo teste\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":bulb: docs: Comentários sobre a função LoremIpsum( )\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e💡 docs: Comentários sobre a função LoremIpsum( )\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":card_file_box: raw: RAW Data do ano aaaa\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🗃️ raw: RAW Data do ano aaaa\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":broom: cleanup: Eliminando blocos de código comentados e variáveis não utilizadas na função de validação de formulário\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🧹 cleanup: Eliminando blocos de código comentados e variáveis não utilizadas na função de validação de formulário\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n    \u003ctr\u003e\r\n      \u003ctd\u003e\r\n        \u003ccode\u003egit commit -m \":wastebasket: remove: Removendo arquivos não utilizados do projeto para manter a organização e atualização contínua\"\u003c/code\u003e\r\n      \u003c/td\u003e\r\n      \u003ctd\u003e🗑️ remove: Removendo arquivos não utilizados do projeto para manter a organização e atualização contínua\u003c/td\u003e\r\n    \u003c/tr\u003e\r\n  \u003c/tbody\u003e\r\n\u003c/table\u003e\r\n\r\n# Principais comandos do Git 📜\r\n\r\n- `git clone url-do-repositorio-no-github` - Clona um repositório remoto existente no GitHub para o seu ambiente local.\r\n\r\n- `git init` - Inicializa um novo repositório Git no diretório atual.\r\n\r\n- `git add .` - Adiciona todos os arquivos e alterações no diretório atual para a área de stage (preparando-os para o commit).\r\n\r\n- `git commit -m \"mensagem do commit\"` - Registra as alterações adicionadas na área de stage com uma mensagem descritiva sobre o que foi modificado.\r\n\r\n- `git branch -M main` - Renomeia a branch atual (master) para main. O -M é usado para forçar a renomeação, movendo a branch se necessário.\r\n\r\n- `git remote add origin https://github.com/usuario/nome-do-repositorio.git` - Adiciona um repositório remoto chamado origin ao repositório local. Use `https://github.com/usuario` para configurar o repositório remoto com HTTPS ou `git@github.com:usuario` para configurar com SSH.\r\n\r\n- `git push -u origin main` - Envia os commits da branch main do repositório local para o repositório remoto origin e define main como a branch padrão para futuros push e pull. O -u (ou --set-upstream) configura a branch upstream para facilitar os próximos comandos git push e git pull e eliminar a necessidade de especificar a branch.\r\n\r\n- `git remote add origin git@github.com:usuario/projeto.git` `git branch -M main` `git push -u origin main` - Quando você já tem um repositório local e quer conectá-lo a um repositório remoto no GitHub, adiciona o repositório remoto, renomeia a branch principal para main e envia os commits iniciais.\r\n\r\n- `git fetch` - Busca todas as atualizações do repositório remoto sem integrá-las à branch atual. Isso atualiza as referências remotas.\r\n\r\n- `git pull origin main` - Atualiza a branch local main com as mudanças do repositório remoto origin. Combina git fetch e git merge.\r\n\r\n- `git push --force-with-lease` - Forma mais segura de forçar o envio de alterações locais para o repositório remoto. Verifica se não houve alterações feitas por outros colaboradores desde sua última atualização local, evitando sobrescrever acidentalmente o trabalho de outros.\r\n\r\n- `git revert id_do_commit_que_vai_ser_revertido` - Cria um novo commit que desfaz as alterações feitas pelo commit especificado, preservando o histórico. Útil para desfazer mudanças de forma segura sem reescrever o histórico.\r\n\r\n- `git reset --hard id_do_commit_anterior_ao_que_vai_ser_apagado` - Redefine o repositório para o estado do commit especificado, apagando todas as mudanças feitas após esse commit. Ideal para uso local. Para sincronizar remotamente, use `git push --force-with-lease` posteriormente.\r\n\r\n- `git commit --amend -m \"mensagem_reescrita\"` - Altera a mensagem do último commit. Após usar este comando, sincronize remotamente com `git push --force-with-lease`.\r\n\r\n- `git cherry-pick HASH_DO_COMMIT` - Utilizado para obter um commit específico. Exemplo de uso: Imagine que você tenha duas branchs (main) e (develop) e na segunda você tem 3 commits mas deseja apenas pegar o primeiro commit dela, com o uso de cherry-pick você pode.\r\n\r\n# Glossário 📖\r\n\r\n- `fork` - Cópia de um repositório para a sua própria conta no GitHub. Isso cria um novo repositório em sua conta que é independente do original, permitindo que você faça alterações sem afetar o repositório original.\r\n\r\n- `issues` - Ferramenta usada para gerenciar tarefas, pedidos de novos recursos e correções de bugs em projetos de código aberto. As issues devem ser descritas e listadas, permitindo aos colaboradores discutirem e rastrearem o progresso das mesmas.\r\n\r\n- `pull request` - Mecanismo usado para submeter alterações propostas ao repositório original. Um pull request é uma solicitação para que os mantenedores do projeto revisem e potencialmente incorporem as alterações. O pull request passará por um processo de avaliação e pode ser aceito ou rejeitado.\r\n\r\n- `gist` - Ferramenta que permite o compartilhamento de trechos de código sem a necessidade de criar um repositório completo. Gists podem ser compartilhados publicamente ou de forma privada.\r\n\r\n# Contribuição ✨\r\n\r\nAjude a comunidade tornando este projeto ainda mais incrível. Leia como contribuir clicando **[aqui](https://github.com/iuricode/padroes-de-commits/blob/main/CONTRIBUTING.md)** e a **[licença](https://github.com/iuricode/padroes-de-commits/blob/main/LICENSE.md)**. Estou convencido de que juntos alcançaremos coisas incríveis!\r\n\r\n## Aprenda programação ❤️\r\n\r\nEste repositório é um projeto gratuito para a comunidade de desenvolvedores, mas você pode me ajudar comprando o meu curso \"**[FrontCode](https://iuricode.com/frontcode)**\" se estiver interessado em aprender ou melhorar suas habilidades na programação. A sua compra me ajuda a produzir e fornecer mais conteúdo gratuito para a comunidade. Adquira agora e comece sua jornada na programação.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiuricode%2Fpadroes-de-commits","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiuricode%2Fpadroes-de-commits","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiuricode%2Fpadroes-de-commits/lists"}