Resumão Git e Github: principais comandos
Vi que tem bastante gente com dificuldade e se batendo um pouco para usar Git e Github...
Gostaria de compartilhar com vocês um material que encontrei na página oficial do Github e achei bem bacana. Me deu vontade de colocar esse material no plano de fundo da área de trabalho, pra consultar sempre que necessário!
*PDF para download no link no fim da postagem
Configurar o git:
$ git config --global user.name [nome] -> nome que ficará associado aos commits
$ git config --global user.email [email] -> email que ficará associados aos commits
Criar repositórios:
$ git init -> cria um novo repositório local (comando deve ser executado na pasta do projeto)
$ git clone [url] -> clona um repositório remoto
Fazendo alterações:
$ git status -> lista todos os arquivos modificados no projeto atual
$ git diff -> mostra as diferenças entre os arquivos alterados (pré-stage)
$ git add [arquivo] -> adiciona um arquivo à área de preparação, para ser incluído em um commit
$ git add . -> adiciona todos os arquivos modificado à área de preparação
$ git diff --staged -> mostra as diferenças entre os arquivos preparados e alterados (pre-stage)
$ git reset [arquivo] -> remove o arquivo da área de preparação (stage) sem remover do sistema
$ git commit -m "[mensagem do commit]"
Branching
$ git branch -> lista todos os branches locais do repositório
$ git branch [nome-do-branch] -> cria um novo branch
$ git checkout -b [nome-do-branch] -> cria um novo branch e muda para ele
$ git checkout [nome-do-branch] -> muda para o branch especificado e altera o diretório de trabalho
$ git merge [nome-do-branch] -> combina as alterações do branch especificado com o branch atual
$ git branch -d [nome-do-branch] -> remove o branch especificado
Alterações de arquivos
$ git rm [arquivo] -> marca o arquivo para remoção do repositório local e o remove do sistema de arquivos (staged)
$ git rm --cached [arquivo] -> remove o arquivo do controle de versão, mas preserva-o no diretório de trabalho
$ git mv [arquivo-original] [novo-nome] -> renomeia um arquivo
Mudanças temporárias
$ git stash -> armazena temporariamente os arquivos modificados
$ git stash pop -> restaura os arquivos previamente guardados na stash
$ git stash list -> lista os conjuntos de alterações na stash
$ git stash drop -> remove os últimos arquivos guardados na stash
Navegar o histórico de versões
$ git log -> lista o histórico de versões para o branch atual
$ git log --follow [arquivo] -> lista o histórico de versões para um arquivo específico (inclusive mudança de nome)
$ git diff [branch-1] [branch-2] -> mostra as diferenças de um arquivo entre dois branches
$ git show [hash-do-commit] -> mostra mudanças de conteúdo de um commit especificado
Manipular histórico de versões
$ git reset [hash-do-commit] -> retorna para o commit especificado, mas mantém as alterações locais
$ git reset --hard [hash-do-commit] -> retorna para o commit especificado e DESCARTA as alterações posteriores
Sincronizar alterações
$ git fetch [remote] -> faz download de todo o histórico de um repositório remoto
$ git merge [remote]/[branch] -> combina a história do branch especificado com o branch atual
$ git pull -> Download e merge em um único comando. Igual a git fetch + git merge
$ git push [remote] [branch] -> envia todos os commits do branch local para o Github
Fonte: https://training.github.com/downloads/pt_PT/github-git-cheat-sheet.pdf
Bons estudos a todos!