O que é Git? 

Git é o sistema de controle de versão distribuído de código aberto e gratuito que é responsável por tudo que envolve o GitHub. Esse guia de macetes contém os comandos mais utilizados em Git para agilizar a criação dos seus projetos e montagem de portfólio no GitHub! 

Instalação e GUIS

Por possuir instaladores específicos de plataforma para Git, o GitHub oferece a facilidade de se manter atualizado com os últimos lançamentos da ferramenta de linha de comando (command line tool), enquanto proporciona uma interface gráfica do usuário para interação diária, revisão, e sincronização de repositório. 

GitHub para Windows:

https://windows.github.com

GitHub para Mac:

https://mac.github.com

Git para todas as plataformas:

https://git-scm.com 

Para Linux e Solaris, o lançamento mais recente se encontra no site oficial do Git!

Setup

Configuração das informações de usuários utilizadas em todos os repositórios locais

git config –global user.name “[firstname lastname]”
Para definir um nome identificável para crédito quando revisar o histórica da versão
git config –global user.email “[valid-email]”Para definir um endereço de email que será associada a cada marcador histórico 
git config –global color.ui auto
Para definir coloração automática da linha de comando para Git, facilitando a revisão

Setup & INIT

Configuração das informações do usuário, inicialização e clonagem de repositórios

git init
Para inicializar uma diretoria existente como um repositório Git
git clone [url]
Para resgatar um repositório completo de um local hospedado via url 

Stage & Snapshot

Trabalhar com snapshots e a área de staging do Git

git status
Para mostrar arquivos modificados no diretório de trabalho, modificados para seu próximo commit
git add [arquivo]
Adicione um arquivo como está para o seu próximo commit
git reset [arquivo]
Unstage um arquivo enquanto mantém as mudanças no diretório de trabalho
git diff
Diff o que está alterado, mas não staged. 
git diff –staged
Diff do que está staged mas não committed ainda 
git commit -m “[mensagem descritiva]”
Commit o seu conteúdo que está staged como um novo commit snapshot

Ramificar & Unificar

Isolar trabalho em ramificações (branches), mudar contexto, e integrar mudanças

git branch
Liste as suas ramificações. Um * aparecerá ao lado da ramificação atualmente ativa
git branch [branch-name]
Crie uma nova ramificação no commit atual 
git checkout
Mude para outra ramificação e verificar ela no seu diretório de trabalho 
git merge [branch]
Unificar o histórico da ramificação especificada com a atual
git log
Mostrar todos os commits no histórico da ramificação atual

Inspecionar & Comparar

Examinar logs, diffs, e informações sobre objetos

git log
Mostrar o histórico de commits para a ramificação atual
git log branchB..branchA
Mostrar os commits na ramificação A que não estão na ramificação B
git log  – -follow [arquivo]
Mostrar os commits que mudaram de arquivo, mesmo através de renomeações 
git diff branchB…branchA
Mostrar o diff do que está na ramificação A que não está na ramificação B
git show [SHA] 
Mostrar qualquer objeto em Git que está em formato legível por pessoas (human-readable format) 

Rastreamento de Mudanças de Path

Versionar remoção de arquivos e mudanças de path

git rm [arquivo]
Apague o arquivo do projeto e stage a remoção para commit 
git mv [existing-path] [new-path] 
Mude o path de um arquivo existente e stage a mudança
Git log  – -stat  -M
Mostre todos os logs de commit com indicação dos paths que mudaram

Ignorando Padrões 

Prevenir staging acidental ou committing de arquivos

logs/ *.notes pattern*/
Salve um arquivo com os padrões desejados como .gitignore com direct string matches ou wildcard globs 
git config –global core.excludesfile [file]
Padrão ignorado por todo o sistema para todos os repositórios locais

Compartilhar & Atualizar

Resgatar atualização de outro repositório e atualizar repos locais 

git remote add [alias] [url]
Adicione um URL git como um alias
git fetch [alias]
Busque todas as filias daquele controle remoto de Git
git merge [alias]/[branch]
Unifique uma ramificação remota com a sua ramificação atual para atualizá-la 
git push [alias] [branch]
Transmita commits da ramificação local para a ramificação do repositório remoto
git pull
Pegue e unifique quaisquer commits da ramificação de rastreamento remoto

Reescreva o Histórico

Reescreva ramificações, atualize commits e limpe seu histórico

git rebase [branch]
Aplique quaisquer commits da ramificação atual antes da ramificação especificada
git reset  – -hard [commit] 
Limpe a área de staging, reescreva a working tree do commit especificado 

Commits Temporários

Temporariamente armazene arquivos modificados e rastreados para mudar ramificações

git stash
Salve mudanças modificadas e que foram staged
git stash list
Liste a stack-order das mudanças do arquivo armazenado (stashed) 
git stash pop
Escreva trabalhando a partir do topo da pilha de armazenamento (stash stack) 
git stash drop
Descarte as mudanças a partir do topo da pilha de armazenamento (stash stack) 

Aprenda a conseguir trabalho

Se inscreva para receber acesso gratuito ao módulo Conseguindo Trabalho!

Obrigado por se inscrever!
Houve um erro ao enviar sua inscrição. Tente novamente mais tarde.

Ao acessar, você concorda em receber nossos comunicados.