Git - EhiltonKazuo/configuration-manual GitHub Wiki
git init : pega o projeto novo do computador e cria um repositório local do git
git clone <url> : pega o projeto do repositório remoto para colocá-lo no seu computador.
git status : mostra quais informações foram modificados para o próximo commit.
git tag <nome-da-tag> <flag>(opcional) : cria uma tag para ajudar na busca dos releases e possíveis bugs dos mesmos.
- -d : deleta a tag local.
- -m : cria uma tag anotada. Após a adição do -m, insira a mensagem entre aspas duplas. RECOMENDÁVEL PELA COMUNIDADE E É USADO QUANDO FOR LANÇADO PARA PRODUÇÃO. Ex: git tag 1.0 -m "release 1.0"
- -a : cria uma tag anotada para os commits anteriores, mas se deve utilizar também a flag -m para adição da mensagem da tag e o hash do commit que queira adicionar a tag anotada. Ex: git tag -a "0.1.beta" -m "release 0.1.beta" e5d0df2.
git show <nome-da-tag> : mostra o commit referente a tag usada.
git remote <comando> <flag>(opcional):
- -v : lista todos os repositórios remotos;
- add <nome-do-apelido> <url> : adiciona um repositório remoto com o apelido, geralmente chamado de origin com a respectiva url.
git config <flag> :
- --list : mostra todas as configurações (sistema, usuário e projeto)
- --system : mostra a configuração do sistema
- --global : mostra a configuração do usuário
- --local: mostra a configuração local. Essa flag é inserida por padrão, caso seja omitida.
git stash <comando> : serve para guardar um código, geralmente, não finalizado em um lugar e não ser commitado no repositório. Antes deve colocá-lo no stage area e depois aplicar o comando
- list : mostra todos os stashes armazenados
- apply : retorna para o código anterior não finalizado, mas não é excluído o stash armazenado
- pop : retorna para o código anterior não finalizado, mas é excluído o stash armazenado
- clear : elimina todos os stashes armazenados
git push <nome-do-apelido> <nome-do-branch> <flag> : enviar o commit para o repositório remoto
- --tags : envia também todas as tags, inclusive a lightweigh que é uma tag local (NÃO RECOMENDÁVEL). Por padrão, não é enviado nenhuma tag para o repositório remoto.
- --follows-tags : envia também as tags anotadas (RECOMENDÁVEL)
- --delete <nome-da-tag> : deleta a tag remoto
Abra o terminal e digite o comando git config --global --edit.
Por default, mostrará o editor padrão sem nenhuma interface gráfica como o vim, por exemplo. Para mudá-lo, use o comando git config --global core.editor <nome-do-editor>.
VS Code:
git config --global core.editor code
Caso não exista o [user] na configuração. Adicione o seu nome e seu email.
[user]
email = Seu email
name = Seu nome
Propósito: serve para identificar o autor dos commits realizados.
Caso não exista o [alias] na configuração. Adicione o trecho abaixo.
[alias]
s = !git status -s
c = !git add --all && git commit -m
l = !git log --pretty=format:'%C(blue)%h%C(red)%d %C(white)%s - %C(cyan)%cn, %C(green)%cr'
amend = !git add --all && git commit --amend --no-edit
Propósito: reduzir o número de tempo gasto para digitar os comandos mais comuns quando se usa o git.
-
git s : mostrar o forma reduzida das modificações que foram feitas no commit atual.
-
git c "<mensagem-que-vai-ao-commit>" : adiciona todos os arquivos no stage area para serem commitados
-
?? (vermelho) : arquivo não está no repositório remoto.
-
A (verde) : arquivo está no stage area que são os arquivos os quais entrarão no próximo commit.
-
M (vermelho) : arquivo está no unstagged que é reconhecido pelo git, mas não está incluído no próximo commit.
-
M (verde) : arquivo está no stage area que vai entrar no próximo commit.
-
-
git amend : commitar a modificação atual e juntá-lo com o último commit, não precisando colocar a mensagem.
-
git l : é uma variação do git log --oneline, porém a mensagem é customizada.
Caso não exista o [push] na configuração. Adicione o trecho abaixo.
[push]
followTags = true
Propósito: serve para deixar por padrão a flag --follows-tags quando ir ao repositório remoto.
Padronização dos commits (Conventional Commits)
Formato:
<type>[optional scope]: <description>
[optional body]
[optional footer]
Ex: feat: add user authentication
Type :
- build: mudanças que afetam o sistema da build ou dependências externas (gulp, broccoli, npm)
- ci : mudanças de arquivos e scrips de configuração (Travis, Circle, BrowserStack, SauceLabs)
- chore : outras mudanças que não modificam os arquivos src ou de teste (adição de uma biblioteca no npm)
- docs : alterações apenas na documentação
- feat : adição de um novo recurso
- fix : correção de um bug
- perf : uma mudança no código que melhora o desempenho
- refactor : alteração de um código que não corrija um bug e nem adiciona um recurso
- style : mudanças que não afetam o significado do código (espaço em branco, formatação, ponto e virgula ausente, etc)
- test : adição de testes ausentes ou corrigir os existentes