Mergulhando de cabeça no git
Entendendo um pouquito melhor
@bearded_nerd
caesar.ralf@gmail.com
MUCH GIT
SUCH COMMANDS
WOW
Sobre mim
- Caesar Ralf Franz Hoppen
- Gaúcho
- ~8 anos desenvoldedor
- Time de Busca Elo7
- Professor Caelum
- Quase uma pessoa normal
Sobre a palestra
"Avançada"
Assume conhecimento básico de git
Entender um pouquito mais do Git
E assim salvar sua pele
Objetivo:
Estruturas do Git
Blob
doc
Tree
Blob
Blob
commit
1496fa3
a4b627e
e05add4
e019271
c57ec75
SHA-1
Um commit é uma foto!
- Hash da Tree
- Commiter
- Comentário
mínimo
- Hash do commit pai
Guarda Infos do Instante!
Mas entre os commits? Como eles se organizam?
Grafo Direto Acíclico
eles apontam tudo pra mesma direção sem gerar ciclos
git tree
Qual Importância de saber isso?
Rebase
e
Merge
...mas vamos focar só no rebase, ok?
Rebase Padrão
Relembrando
$ git checkout master
$ git log --oneline
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
$ git checkout faz-molho
$ git log --oneline
a58ebc7 Faz o alho, a cebola e os testes
8b7b9a3 Faz molho
1c2a4f2 Faz teste
c460145 Cria a pizzaria
branch faz-molho
branch master
Mais antigo
Mais novo
$ git checkout faz-molho
$ git checkout rebase master
$ git log --oneline
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
$ git log --oneline
a58ebc7 Faz o alho, a cebola e os testes
8b7b9a3 Faz molho
1c2a4f2 Faz teste
c460145 Cria a pizzaria
COMMIT EM COMUM
branch faz-molho
branch master
$ git checkout faz-molho
$ git checkout rebase master
$ git log --oneline
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
$ git log --oneline
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
branch faz-molho
branch master
Faz o alho, a cebola e os testes
Faz molho
Faz teste
DEIXA COM MESMO HEAD
$ git checkout faz-molho
$ git checkout rebase master
$ git log --oneline
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
$ git log --oneline
3283159 Faz teste
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
branch faz-molho
branch master
Faz o alho, a cebola e os testes
Faz molho
REAPLICA OS COMMITS UM POR UM!
*
1c2a4f2 Faz teste
$ git checkout faz-molho
$ git checkout rebase master
$ git log --oneline
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
$ git log --oneline
5277ec8 Faz o alho, a cebola e os testes
17851ee Faz molho
3283159 Faz teste
48f1836 Cria pizza
24b85a2 Cria massa e testes
c460145 Cria a pizzaria
branch faz-molho
branch master
*
*
*
REBASE
É MUITO
AFUDÊ!
MAS É TOTALMENTE DESTRUTIVO!
Ele reescreve sua árvore de commits!
use somente em branchs não compartilhados!
É UM VIAJANTE DO TEMPO!
Outros uso do rebase...
Rebase Interativo!
botando um pouco da mão na massa
rebase -i commithash~
Seus usos...
- Renomear commits
- Deletar commits
- Separar commits
- Juntar commits
- Mudar Ordem dos Commits
Muito bacana
mas ainda muito destrutivo! Usem somente em branches locais!
Referências
- http://git-scm.com/book
- http://gitready.com/
- http://gitimmersion.com/
- http://github.com/
- http://gitreal2.codeschool.com/
Elo7 está contratando!
jobs@elo7.com
OBRIGADO!
@bearded_nerd
caesar.ralf@gmail.com
link palestra: http://bit.ly/1oiUUJ5
Blog da Elo7: http://craftedbits.elo7.com.br/
Mergulhando de cabeça no git: uma visão aprofundada e hands on
By Caesar Ralf Franz Hoppen
Mergulhando de cabeça no git: uma visão aprofundada e hands on
- 1,469