Comandos Git

  • git config --global user.name "NOME": Configura o nome do usuário no "git local";
  • git config --global user.email "EMAIL": Configura o e-mail do usuário no "git local";
  • git config --list: Lista as configurações disponíveis;
  • git init: Inicia um repositório local;
  • git status: Verifica o status dos arquivos;
  • git add "FILE_NAME" (ou "DIRECTORY_NAME"): Adiciona um arquivo não rastreado ao stage;
  • git add --all (ou -A ou .): Adiciona todos os arquivos não rastreados ao stage;
  • git add -f "FILE_NAME": Força a adição de um arquivo presente no .gitignore;
  • "git commit -m "MESSAGE": Realiza o commit local dos arquivos que estava rastreados no stage;
  • git -a -m commit "MESSAGE": Adiciona todos os arquivos não rastreados para o stage e faz o commit local;
  • git commit --amend -m "NEW_MESSAGE": Faz alterações em um commit que ainda não foi mandado para o repositório remoto;
  • git log: Exibe o histórico de versões;
  • git log --oneline: Exibe o histórico de versões de maneira resumida;
  • git diff: Mostra as modificações feitas nos arquivos em stage desde o último commit;
  • git checkout "FILE_NAME": Desfaz alterações em um arquivo que ainda não está em stage na branch;
  • git reset HEAD "FILE_NAME": Desfaz alterações em um arquivo que já está em stage;
  • git reset --hard: Semelhante ao git checkout "FILE_NAME" porém desfaz as alterações em todos os arquivos que ainda não estão em stage naquela branch;
  • git reset --hard HEAD~NUMBER: Volta alterações de NUMBER commits atrás;
  • git clean -f: Desfaz (basicamente exclui) as alterações em arquivos não rastreados;
  • git clone INITIAL_PATH FINAL_PATH: Clona o repositório de um repositório local "INITIAL_PATH" para o novo repositório local "FINAL_PATH";
  • git clone "URL": Clona o repositório remoto pra um repositório local;
  • git push: Envia os commits feitos no local para o remoto;
  • git push -u origin "BRANCH_NAME": Deve ser usado para enviar os commits iniciais de cada repo local para o remoto;
  • git pull: Faz a comparação entre os repo local e remote e baixa atualizações se necessário. Funciona fazendo um Fetch e um Merge;
  • git fetch: Verifica se existe diferença entre o repo local e remoto;
  • git merge "BRANCH_NAME"": Mescla a branch "BRANCH_NAME" na branch em que está;
  • git tag -a "TAG" HASH: Adiciona uma tag personalizada "TAG" ao commit de hash HASH;
  • git tag -d "TAG": Delete tag;
  • git push origin --tags: Faz o envio das tags do repo local para o remoto;
  • git branch: Lista as branchs;
  • git checkout "BRANCH_NAME": Cria uma branch de nome "BRANCH_NAME";
  • git checkout -b "BRANCH_NAME": Cria uma branch de nome "BRANCH_NAME" e muda para ela;
  • git branch -m "NEW_BRANCH_NAME": Renomeia a branch que você está para "NEW_BRANCH_NAME";
  • git branch - "TARGET_BRANCH" "NEW_BRANCH_NAME": Renomeia a branch "TARGET_BRANCH" para "NEW_BRANCH_NAME";
  • git branch -d "BRANCH_NAME": Exclui localmente a branch "BRANCH_NAME" (não pode estar nela);
  • git branch -D "BRANCH_NAME": Força a exclusão local da branch "BRANCH_NAME";
  • git push origin --delete "BRANCH_NAME": Exclui a branch "BRANCH_NAME" no repo remoto;
  • git stash: Salva temporariamente as alterações de arquivos;
  • git stash save "MESAGE": Salva temporariamente as alterações de arquivos, mas com uma mensgaem personalizada "MESSAGE";
  • git stash list: Lista os 'stashes' feitos;
  • git stash apply: Aplica o último stash feito;
  • git stash apply stash@{"NUMBER"}: Aplica o stash de número "NUMBER";
  • git stash branch "BRANCH_NAME": Cria uma branch de nome "BRANCH_NAME" a partir de um stash;
  • git stash pop: Aplica o último stash feito e o exclui da lista;
  • git stash pop stash@{"NUMBER"}: Aplica o stash de número "NUMBER" e o exclui da lista;
  • git stash dropstash@{"NUMBER"}: Dropa o stash de número "NUMBER" da lista de stashes;
  • git rebase "BRANCH_NAME": Faz a mesma coisa que o merge porém de um jeito diferente. Enquanto o 'merge' cria um commit e junta os existentes, já o 'rebase' joga os commits feitos na branch "BRANCH_NAME" na branch em que ele é feito;
  • 2x 'esc' + :wq -> para salvar e sair do editor do git;