Instale o Git
GitHub fornece clientes desktop que incluem uma interface gráfica para as ações mais comuns em um repositório e atualiza automaticamente para a linha de comando do Git para cenários avançados.
GitHub para Windows
GitHub para Mac
Distribuições do Git para Linux e sistemas POSIX são disponíveis no site oficial do Git SCM.
Git para todas as plataformas
Configure a ferramenta
Configure informações de usuário para todos os repositórios locais
$ git config --global user.name "[nome]"
Configura o nome que você quer ligado às suas transações de commit
$ git config --global user.email "[endereco-de-email]"
Configura o email que você quer ligado às suas transações de commit
Crie repositórios
Inicie um novo repositório ou obtenha de uma URL existente
$ git init [nome-do-projeto]
Cria um novo repositório local com um nome especificado
$ git clone [url]
Baixa um projeto e seu histórico de versão inteiro
Faça mudanças
Revise edições e crie uma transação de commit
$ git status
Lista todos os arquivos novos ou modificados para serem commitados
$ git diff
Mostra diferenças no arquivo que ainda não foram preparadas
$ git add [arquivo]
Faz o snapshot de um arquivo na preparação para versionamento
$ git diff --staged
Mostra a diferença entre arquivos preparados e suas últimas versões
$ git reset [arquivo]
Retira o arquivo da área de preparação, mas preserva seu conteúdo
$ git commit -m "[mensagem descritiva]"
Grava o snapshot permanentemente do arquivo no histórico de versão
Mudanças em grupo
Nomeie uma série de commits e combine os esforços completos
$ git branch
Lista todos os branches locais no repositório atual
$ git branch [nome-do-branch]
Cria um novo branch
$ git switch -c [nome-do-branch]
Muda para o branch especificado e atualiza o diretório de trabalho
$ git merge [nome-do-branch]
Combina o histórico do branch especificado ao branch atual
$ git branch -d [nome-do-branch]
Exclui o branch especificado
Refatore nomes de arquivos
Mude e remova os arquivos versionados
$ git rm [arquivo]
Remove o arquivo do diretório de trabalho e o prepara a remoção
$ git rm --cached [arquivo]
Remove o arquivo do controle de versão mas preserva o arquivo localmente
$ git mv [arquivo-original] [arquivo-renomeado]
Muda o nome do arquivo e o prepara para o commit
Suprima o monitoramento
Ignore arquivos e diretórios temporários
*.log
build/
temp-*
Um arquivo de texto chamado .gitignore
suprime o versionamento acidental de arquivos e diretórios correspondentes aos padrões especificados
$ git ls-files --others --ignored --exclude-standard
Lista todos os arquivos ignorados neste projeto
Salve fragmentos
Arquive e restaure mudanças incompletas
$ git stash
Armazena temporariamente todos os arquivos monitorados modificados
$ git stash pop
Restaura os arquivos recentes em stash
$ git stash list
Lista todos os conjuntos de alterações em stash
$ git stash drop
Descarta os conjuntos de alterações mais recentes em stash
Revise o histórico
Navegue e inspecione a evolução dos arquivos do projeto
$ 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, incluindo mudanças de nome
$ git diff [primerio-branch]...[segundo-branch]
Mostra a diferença de conteúdo entre dois branches
$ git show [commit]
Retorna mudanças de metadata e conteúdo para o commit especificado
Desfaça commits
Apague enganos e crie um histórico substituto
$ git reset [commit]
Desfaz todos os commits depois de [commit]
, preservando mudanças locais
$ git reset --hard [commit]
Descarta todo histórico e mudanças para o commit especificado
Sincronize mudanças
Registre um repositório remoto e troque o histórico de versão
$ git fetch [nome-remoto]
Baixe todo o histórico de um repositório remoto
$ git merge [nome-remoto]/[branch]
Combina o branch remoto ao branch local atual
$ git push [alias] [branch]
Envia todos os commits do branch local para o GitHub
$ git pull
Baixa o histórico e incorpora as mudanças