Git - EhiltonKazuo/configuration-manual GitHub Wiki

Todas as plataformas

Comandos

Criação do projeto

git init : pega o projeto novo do computador e cria um repositório local do git

Usar um projeto existente

git clone <url> : pega o projeto do repositório remoto para colocá-lo no seu computador.

Gerais

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

Configurando o git config

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
⚠️ **GitHub.com Fallback** ⚠️