Resumão Git e Github: principais comandos
- #GitHub
- #Git
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!




Perfeito!
Obrigado pelos feedbacks!
Fico muito feliz em saber que o tempo despendido não foi em vão e está ajudando vocês!
Bons estudos a todos!
CS
Obrigado por compartilhar, André.
Muito bom!
Parabéns André!!! Excelente resumão!
Tri legal André! Gratidão pela paciência e tempo para montar esse Artigo/Resumo.
GS
Útil e prático!!
Muito bom, exatamente o que eu estava precisando. :)
RL
Parabéns! Excelente resumo!
Obrigada por compartilhar, André.
IR
muito bom !!
AG
Uau André Muito obrigado por este tempo que disponibilizou para compartilhar conosco.
Eu gostaria de adicionar uma possibilidade:
É possível enviar um diretório local sem ter feito o clone do remoto.
Vai no github cria o repositório, sem adicionar ReadMe, nem .gitgnore e nem licença. Apenas o repositório
aí navega até o diretório do projeto, pelo terminal, ou se tiver no windows vai no diretório pelo win explorer, segura shit e clica com o botão direito e escolhe a opção: Abrir com Power Shell ou Abrir no terminal. ai o terminal já abrirá no diretório que queremos.
aí faz a sequencia de comandos:
git init //para iniciar o diretório git
git add . //para adicionar todos os arguivos no stage
git commit -m 'Pirmeiro Commit'
Agora vai no diretório remoto e copia o endereço dele e dá o comando:
git remote add origin git@github.com:nome_usuario/nome_diretorio.git
git push -u origin master
Eu ficava quebrando minha cabeça caso não tivesse feito o clone, agora já sei que ñ preciso clonar o diretório remoto.
Muito Bom. Belo trabalho
Que legal! Gostei muito!
Muito legal e útil!