Navegação rápida
Comandos comuns
A maior parte dos comandos abaixo foi coletada em it-tools.tech e complementada com práticas de desenvolvimento do dia a dia.
O texto azul dentro dos blocos de código pode ser editado para alterar e copiar os exemplos rapidamente.
Configuração
Defina o nome de usuário e o e-mail globais:
git config --global user.name "WaLudo"
git config --global user.email "waludo@gmail.com" Começando um projeto
Inicialize um novo repositório Git:
git init Clone um repositório existente:
git clone https://github.com/WaLudo/waludo-tools.git Commits
Faça commit de todas as alterações rastreadas:
git commit -am "feat: add two cups of coffee" Faça commit de todas as alterações:
git add .
git commit -m "feat: add five cups of coffee" Adicione novas alterações ao commit anterior:
git commit --amend --no-edit Fiz uma alteração errada
Edite a mensagem do commit mais recente:
git commit --amend Desfaça o commit mais recente, mantendo as alterações:
git reset HEAD~1 Desfaça os últimos N commits, mantendo as alterações:
git reset HEAD~N Desfaça o commit mais recente e descarte todas as alterações:
git reset HEAD~1 --hard Redefina a branch local para o estado remoto:
git fetch origin git reset --hard origin/branch-name Diversos
Renomeie a branch local master para main:
git branch -m master main Convenção de commits
Consulte a especificação Conventional Commits v1.0.0 em https://www.conventionalcommits.org/pt-br/v1.0.0/.
Valide seu commit
git commit -m "feat(scope): description" Referência rápida de tipos
| Tipo | Descrição |
|---|---|
| fix | Corrige um bug |
| feat | Introduz uma nova funcionalidade |
| build | Altera o sistema de build (dependências, interfaces externas, versão do Node etc.) |
| chore | Altera itens que não são de negócio (processo de build, configuração de ferramentas etc.) |
| ci | Altera a configuração de integração contínua (CI/CD) |
| docs | Altera a documentação (README, documentação de API etc.) |
| style | Altera o estilo do código sem mudar a lógica |
| refactor | Refatora o código sem alterar seu comportamento |
| perf | Melhora o desempenho |
| test | Altera casos de teste |
Escopo
Você pode informar um escopo entre parênteses depois do tipo para fornecer contexto:
feat(parser): adds ability to parse arrays
Alterações incompatíveis
Um ponto de exclamação indica uma alteração incompatível e pode ser usado com qualquer tipo:
feat(api)!: send an email to the customer when a product is shipped
Incluir a expressão BREAKING CHANGE no rodapé também produz o mesmo efeito.
Corpo e rodapé em várias linhas
Exemplo de commit com corpo e rodapé em várias linhas:
fix: prevent racing of requests
Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
Especificação completa
As palavras-chave MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY e OPTIONAL devem ser interpretadas conforme a RFC 2119: https://www.ietf.org/rfc/rfc2119.txt.
- Cada commit MUST começar com um tipo, seguido de escopo opcional, sinal de exclamação opcional e dois-pontos mais espaço finais obrigatórios
- Uma nova funcionalidade MUST usar o tipo feat
- Uma correção MUST usar o tipo fix
- O escopo MAY vir depois do tipo; MUST ser um substantivo que descreva uma parte do código e estar entre parênteses, como fix(parser):
- A descrição MUST vir imediatamente depois dos dois-pontos e do espaço do prefixo de tipo e escopo
- Depois da descrição curta MAY haver um corpo mais longo, que MUST começar após uma linha em branco
- Após outra linha em branco MAY haver um ou mais rodapés; cada rodapé MUST conter um token seguido de dois-pontos e espaço ou espaço e cerquilha como separador
- O token do rodapé MUST usar hífen no lugar de espaços, por exemplo Acked-by; a exceção é BREAKING CHANGE
- Uma alteração incompatível MUST ser marcada com exclamação no prefixo ou com o rodapé BREAKING CHANGE: descrição
- Se a exclamação for usada, o rodapé MAY omitir BREAKING CHANGE: e a descrição SHOULD explicar a alteração
- Outros tipos além de feat e fix MAY ser usados, por exemplo docs: updated ref docs.
- Ferramentas que implementam a especificação MUST NOT diferenciar maiúsculas de minúsculas, exceto que BREAKING CHANGE MUST estar em maiúsculas
- BREAKING-CHANGE MUST ser sinônimo de BREAKING CHANGE quando usado como token de rodapé