SlideShare uma empresa Scribd logo
Git para quem gosta de git
ou não
Eduardo Bohrer
http://about.me/nbluis
História
Kernel em números
9 repositórios
oficiais com
suporte ativo
Kernel em números
★ 17+ milhões de linhas de código
★ 9700+ desenvolvedores (desde o inicio do
git)
★ 200+ empresas envolvidas atualmente
★ Média de 9 commits por hora
http://www.cnet.com/news/linux-development-by-the-numbers-big-and-getting-bigger/
http://royal.pingdom.com/2012/04/16/linux-kernel-development-numbers/
Eu prefiro um tallball
SVN Slogan = CSV Done Right
Um dia de fúria de Linux Torvalds
There is no way to do cvs right. (Linus
Torvalds)
Trabalho remoto, independente,
offline
SSL
Rápido
Compressão
Histórico local
Branchs locais
Tags locais
Working tree local
Commits locais
Github
Chega de mimimi
Um commit no GIT
Pasta raiz
Sub-pasta
Arquivo no raiz
Arquivo na sub-pasta
Um commit no GIT
git commit
Um commit no GIT
commit: c1
---------------------
parent: null
tree: Pasta raiz
author: Bohrer
tree: Pasta Raiz
-----------------------------
tree: Sub-pasta
blob: Arquivo no Raiz
blob: Arquivo no Raiz
tree: bcdblob: Arquivo na sub-pasta
tree: Sub-pasta
-------------------------------------
blob: Arquivo na sub-pasta
Outro commit
Mudei um arquivo
git commit
Outro commit
commit: c2
---------------------
parent: c1
tree: Pasta raiz
author: Bohrer
tree: Pasta Raiz
-----------------------------
tree: Sub-pasta
blob: Arquivo no Raiz
blob: Arquivo no Raiz
commit: c1
---------------------
parent: null
tree: Pasta raiz
author: Bohrer
tree: Pasta Raiz
-----------------------------
tree: Sub-pasta
blob: Arquivo no Raiz
blob: Arquivo no Raiz
tree: bcdblob: Arquivo na sub-pasta
tree: Sub-pasta
-------------------------------------
blob: Arquivo na sub-pasta
Working tree
c1master* c2 c3 c4 c5
Forks e Branches
master* c2 c3 c4 c5
work c2 c3 c4 c5
b2 c4 c5
c1
Uma linda e maravilhosa arvore!
Mas o SVN também faz
Esqueça o que aprendeu sobre VCS
Branchs são legais
Merges também (as vezes)
Fork e branch
git branch work
git checkout work
Fork e Branch
master c1
work*
c2
Fork e Branch
master c2
work* c3 c4
c1
Merge
Estrategias de merge
● Fast forward
● Recursive
● Octopus
● Outros (mais complexos)
Merge
git checkout master
git merge work
Fast forward
master* c2
work c3 c4
c1
Não há nada a
resolver! :)
Fast forward
c2
master*
work
c3 c4
c1
Não há nada a
resolver! :)
Recursive merge
master c2 c3
work c3 c4
c1 c4 Commit nas
duas. :(
Recursive merge
master* c2 c3
work c3 c4
c1 c4 c5
Octopus merge
master* c2
c5
work c2 c3
b2 c4
c1
Octopus merge
master* c2
c5
work c2 c3
b2 c4
c1 c5
Mas o SVN também faz
Podando a árvore
git rebase
Git rebase
master c2
work* c3 c4
c1
Git rebase
master
c2
work*
c3 c4c1
Mais ferramentas
Muito mais
Git remote
git remote
Só mais um ramo
Git remote
origin/
master
c2
master* c3 c4
c1
Git pull
git pull
(git fetch + git merge)
Git push
git push origin master
Git log
git log
Git stash
git stash
git stash apply
Git patch + apply
git format-patch
git apply
Git bisect
git bisect start
git bisect end
git bisect run
Git bisect
c2 c3 c4 c5c1 c5
GOOD BAD
Git bisect
c2 c3 c4 c5c1 c5
GOOD BADBAD
Git bisect
c2 c3 c4 c5c1 c5
GOOD BAD
Git bisect
c2 c3 c4 c5c1 c5
BADGOODGOOD
Git bisect
c2 c3 c4 c5c1 c5
BADGOOD
Git bisect
c2 c3 c4 c5c1 c5
Primeira versão
com problema
Git diff
git diff
git diff origin master
dif diff a --not b
Git reset
git reset
git reset --hard
Git tag
Tagging done right!
Aprendendo mais
http://pcottle.github.io/learnGitBranching
Ferramentas gráficas
Eu prefiro SVN
Me dê APENAS 1 motivo
Git para quem gosta de git
ou não
Eduardo Bohrer
http://about.me/nbluis

Mais conteúdo relacionado

PDF
Git para quem gosta de Git
PDF
Mini curso Git - 2º dia
PDF
Como participar de projetos Open Source no Github?
PDF
Git ...ftw!
PDF
Dashboard slides
PDF
Iniciando com git
PDF
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
PDF
Mock it with mockito
Git para quem gosta de Git
Mini curso Git - 2º dia
Como participar de projetos Open Source no Github?
Git ...ftw!
Dashboard slides
Iniciando com git
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Mock it with mockito

Semelhante a Git para quem gosta de git (20)

PDF
Git - Visão Geral
PDF
Minicurso GIT 2022 - SENAC
PDF
Minicurso GIT Completo (2022)
PDF
Controle de Versões com Git
PDF
Introducao git fisl
PDF
Git controlo de_versoes
PDF
Introdução ao Git
PDF
Rogue Snail Talk - Usando Git na Game Jam - WGJ
PDF
Git workshop
PPT
Git e GitHub - Conceitos Básicos
PDF
[4Soft] Git para iniciantes
PDF
Rogue Snail Talk - Usando Git na Game Jam - WGJ
PDF
Intervalo técnico Git/SVN
DOCX
Git flow no projeto
PPTX
Workshop git para iniciantes
PDF
workshopgitparainiciantes1-190901224755.pdf
PDF
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
ODP
Introdução ao git e github
Git - Visão Geral
Minicurso GIT 2022 - SENAC
Minicurso GIT Completo (2022)
Controle de Versões com Git
Introducao git fisl
Git controlo de_versoes
Introdução ao Git
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Git workshop
Git e GitHub - Conceitos Básicos
[4Soft] Git para iniciantes
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Intervalo técnico Git/SVN
Git flow no projeto
Workshop git para iniciantes
workshopgitparainiciantes1-190901224755.pdf
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Introdução ao git e github
Anúncio

Mais de Eduardo Bohrer (10)

PDF
Monitorando sistemas distribuidos
PDF
Kubernetes - ThoughtWorks Tech Radar 18
PDF
Refatoração - XPConfBR 2015
PDF
Node.JS - Workshop do básico ao avançado
PDF
Builds e Pipelines - A arte de automatizar a entrega de software!
PDF
NoSQL and AWS Dynamodb
PDF
uMov.me API - Do básico ao avançado
PDF
XSS (Cross site scripting)
PDF
Memória e Garbage Collection na JVM
KEY
Chaos Report - Web Security Version
Monitorando sistemas distribuidos
Kubernetes - ThoughtWorks Tech Radar 18
Refatoração - XPConfBR 2015
Node.JS - Workshop do básico ao avançado
Builds e Pipelines - A arte de automatizar a entrega de software!
NoSQL and AWS Dynamodb
uMov.me API - Do básico ao avançado
XSS (Cross site scripting)
Memória e Garbage Collection na JVM
Chaos Report - Web Security Version
Anúncio

Último (7)

PPTX
Curso de Windows 11 resumido na prática.pptx
PPTX
Mapeamento de Objeto para Tabela Relacional
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
apresentacao introducao computacao ead.pdf
PDF
Evolução em código: algoritmos genéticos com PHP
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PDF
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
Curso de Windows 11 resumido na prática.pptx
Mapeamento de Objeto para Tabela Relacional
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
apresentacao introducao computacao ead.pdf
Evolução em código: algoritmos genéticos com PHP
Dos requisitos ao código: como criar código rastreável em PHP
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf

Git para quem gosta de git