Controle de versão com GIT
-
Upload
paulo-cesar-m-jeveaux -
Category
Technology
-
view
4.037 -
download
1
Transcript of Controle de versão com GIT
![Page 1: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/1.jpg)
Controle de versão com GIT
Paulo César M Jeveaux
@jeveaux
jeveaux.com
![Page 2: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/2.jpg)
![Page 3: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/3.jpg)
controlar versão de código, Batman, pra que
isso?
![Page 4: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/4.jpg)
controlar versão de código, Batman, pra que
isso?ouch!
![Page 5: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/5.jpg)
controlar versão de código, Batman, pra que
isso?ouch!
Robin, como você controla as alterações do seu
código?
E como você controla as versões do seu produto?
E o hitórico de tudo isso?
![Page 6: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/6.jpg)
git• Open Source
• Criado por Linus Torvalds
• Necessidade de manter o
controle de versão do
código do Kernel do Linux
• Mantido por Junio Hamano
• Para projetos P, M, G e XG
• Sistema de controle de
versões distribuído!
![Page 7: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/7.jpg)
git• Desenvolvimento distribuído
• Rápido!
• Branches e merges sem dor
e forma simples
• Rápido!
• Eficiente e simples
• Comunidade forte
• Rápido!
![Page 8: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/8.jpg)
alguém usa isso?
![Page 9: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/9.jpg)
alguém usa isso?
Linux Kernel
Perl
gnome
Android
Fedora
Debian
X.org
PostgreSQL
...muitos outros
![Page 10: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/10.jpg)
Conceitocentralizado X distribuído
![Page 11: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/11.jpg)
repositório
dev 1
dev 2
dev 3
dev n
• repositório único e centralizado
• commit só por usuário com permissão
centralizado
![Page 12: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/12.jpg)
repositório
dev 1
dev 2
dev 3
dev n
• repositório único e centralizado
• commit só por usuário com permissão
históricos, commits,
branches, etc
centralizado
![Page 13: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/13.jpg)
repositório
dev 1
dev 2
dev 3
dev n
• repositório único e centralizado
• commit só por usuário com permissão
checkout no dia N
históricos, commits,
branches, etc
centralizado
![Page 14: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/14.jpg)
repositório
dev 1
dev 2
dev 3
dev n
• repositório único e centralizado
• commit só por usuário com permissão
checkout no dia N
checkout no dia N+1diferente do dev 1
históricos, commits,
branches, etc
centralizado
![Page 15: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/15.jpg)
repositório
dev 1
dev 2
dev 3
dev n
• repositório único e centralizado
• commit só por usuário com permissão
checkout no dia N
checkout no dia N+1diferente do dev 1
checkout no dia N+2diferente do dev 1 e 2
históricos, commits,
branches, etc
centralizado
![Page 16: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/16.jpg)
repositório
dev 1
dev 2
dev 3
dev n
• repositório único e centralizado
• commit só por usuário com permissão
checkout no dia N
checkout no dia N+1diferente do dev 1
checkout no dia N+2diferente do dev 1 e 2
checkout no dia N+3diferente do dev 1, 2 e 3
históricos, commits,
branches, etc
centralizado
![Page 17: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/17.jpg)
dev 1
dev 2
dev 3
dev n
• cada cópia é um repositório completo
• histórico completo e total
• commit local {on|off}line
• commits podem ser transferidos entre repositórios
de forma simples com pull ou push
distribuído
![Page 18: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/18.jpg)
dev 1
dev 2
dev 3
dev n
• cada cópia é um repositório completo
• histórico completo e total
• commit local {on|off}line
• commits podem ser transferidos entre repositórios
de forma simples com pull ou push
uma nova cópia pode ser feita de qualquer repositório
distribuído
![Page 19: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/19.jpg)
dev 1
dev 2
dev 3
dev n
• cada cópia é um repositório completo
• histórico completo e total
• commit local {on|off}line
• commits podem ser transferidos entre repositórios
de forma simples com pull ou push
uma nova cópia pode ser feita de qualquer repositório
distribuído
commits podem ser transferidos por todos repositórios
![Page 20: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/20.jpg)
você pode fazer commit de qualquer lugar, até no avião!
![Page 21: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/21.jpg)
você pode fazer commit de qualquer lugar, até no avião!
RLY?
![Page 22: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/22.jpg)
branches
![Page 23: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/23.jpg)
• rápido!
• muito rápido!
• branches locais baratas
• branches também podem ser remotas (github)
• merge super poderoso
• uma branch para cada feature/história/bug/etc
![Page 24: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/24.jpg)
histórico
logs
diffs
commits
merge
pull
push
tag
![Page 25: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/25.jpg)
stash
index
bisect
GIT-SVN
![Page 26: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/26.jpg)
ferramentas e utilidades
![Page 27: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/27.jpg)
o terminal é seu amigo :)
![Page 28: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/28.jpg)
gitk
![Page 29: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/29.jpg)
tower
![Page 30: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/30.jpg)
... e muitas outras ferramentas
• gitnub
• qgit
• git-gui
• tortoise-git
• ...
![Page 31: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/31.jpg)
github
![Page 32: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/32.jpg)
![Page 33: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/33.jpg)
comunidade em torno de código
muitos projetos open source
serve para projetos privados
funciona! funciona muito bem!
![Page 34: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/34.jpg)
comunidade em torno de código
muitos projetos open source
serve para projetos privados
funciona! funciona muito bem!
grátis para open source
fork de maneira fácil e rápida
facilita muito a colaboração
é o queridinho na comunidade
![Page 35: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/35.jpg)
Ruby on Rails
jQuery
Redis
node.js
curl
CakePHP
django
mongodb
Quem usa github
![Page 36: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/36.jpg)
Servidor GIT privado
gitorious• gratuito
• open source
• pode ser usado também online como o github, também gratuito
![Page 37: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/37.jpg)
muitas opções
• gitosis
• codebasehq
• repo.or.cz
• gitorious
• ...
![Page 38: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/38.jpg)
Para o alto e avante
akitaonrails.com/screencasts
![Page 39: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/39.jpg)
dúvidas?
![Page 40: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/40.jpg)
Referências
• git-scm.org
• github.com/guides/home
• akitaonrails.com
• “Git: controle de versão de jeito certo” - por Arthur Zapparoli
![Page 41: Controle de versão com GIT](https://reader035.fdocumentos.tips/reader035/viewer/2022081401/55666930d8b42a3d3f8b4dcd/html5/thumbnails/41.jpg)
Controle de versão com GIT
Paulo César M Jeveaux
@jeveaux
jeveaux.com