1. COMANDOS BÁSICOS
1.1. git init - inicia o git no diretório
1.2. git add - adiciona o(s) arquivo(s) no monitoramento do git ou muda para stage
1.3. git rm arquivo1.ext - Para de trackear o arquivo passado como argumento.
1.4. git log - Exibe os commits feitos na branch atual
1.5. git status - Informa o estado atual das modificações na sua branch
1.6. git show - Exibe o último commit feito
1.7. git commit -m "mensagem do commit" - Empacota as modificações que estavam em stage e envia para o repositório local. Dica: pense no commit como um checkpoint do seu projeto
1.8. git push - Envia os commits que estão apenas em sua máquina local para o repositório remoto
1.9. git clone - Clonar um repositório na sua máquina
1.10. git pull - Atualiza seu repositório a partir do repositório remoto
2. COMANDOS PARA GESTÃO DE BRANCHS
2.1. git checkout <nome_branch> - Migra para uma determinada branch
2.2. git merge <nome_branch> - Realiza o merge da branch passada como parâmetro com a branch que você está atualmente
2.3. git merge --abort - Aborta o merge
2.4. git branch - Exibe todas as branchs criadas no projeto
2.5. git branch -d <nome_branch> - Comando para deletar uma branch
2.6. git branch <nome_branch> - Comando para criar uma branch
2.7. git checkout --track -b <branch_local> origin/<branch_remota> - Comando para criar uma branch local a partir de uma branch remota
3. ESTADOS DE UM ARQUIVO NO GIT
3.1. UNTRACKED
3.1.1. O arquivo ainda não está sendo monitorado pelo git.
3.2. UNMODIFIED
3.2.1. O arquivo está sendo monitorado e não possui modificação.
3.3. MODIFIED
3.3.1. O arquivo está sendo monitorado e possui modificações.
3.4. STAGED
3.4.1. O arquivo está pronto para ser commitado
4. LINHAS DO TEMPO ALTERNATIVAS: BRANCH
4.1. O que diabos é isso?
4.1.1. Branch é o nome dado para a ramificação de uma linha do tempo. Na prática, a branch é gerada para que a linha do tempo principal do projeto (master) não seja violada.
4.1.2. Exemplo: Imagine que você está trabalhando em um projeto onde sua equipe está desenvolvendo uma tela de troca de senha. Você ficou responsável por criar a funcionalidade de validação da senha e seu colega por criar a funcionalidade de enviar a confirmação de troca de senha por email. Nesse caso você e seu colega precisariam criar cada um uma branch nova e, ao final da implementação, deveria ser feito o merge (junção) das branchs secundárias com a branch principal do projeto.
4.1.3. É útil em situações nas quais você deseja adicionar um novo recurso ou corrigir um erro, gerando uma nova ramificação garantindo que o código instável não seja mesclado nos arquivos do projeto principal.
5. FERRAMENTAS
5.1. GITHUB
5.1.1. Rede social de código fonte
5.1.2. Ferramenta gratuita
5.1.3. Permite criação de repositórios remotos