38

Git vs. SVN

Embed Size (px)

DESCRIPTION

Breve comparação entre as ferramentas de versionamento de código Git e SVN e algumas boas práticas no uso do Git.

Citation preview

Page 1: Git vs. SVN
Page 2: Git vs. SVN

Sistemas de controle de versões de arquivos

Page 3: Git vs. SVN

GIT

Criado por Linus Torvalds

Page 4: Git vs. SVN

GIT x SVN

Page 5: Git vs. SVN

GIT x SVN

SVN - Centralizado Git - Distribuído

Page 6: Git vs. SVN

GIT x SVNCaso de Uso

Page 7: Git vs. SVN

GIT x SVN

Repositório da Mozilla240.000 arquivos

10 anos de histórico do projeto

Caso de Uso

Page 8: Git vs. SVN

GIT x SVN

Repositório da Mozilla240.000 arquivos

10 anos de histórico do projeto

Caso de Uso

12 GBEspaço usado no SVN

Page 9: Git vs. SVN

GIT x SVN

Repositório da Mozilla240.000 arquivos

10 anos de histórico do projeto

Caso de Uso

12 GBEspaço usado no SVN

420 MBEspaço usado no Git

Page 10: Git vs. SVN

GIT x SVN

Repositório da Mozilla240.000 arquivos

10 anos de histórico do projeto

Caso de Uso

12 GBEspaço usado no SVN

420 MBEspaço usado no Git

30x menos espaço após

migrar do SVN para o Git

Page 11: Git vs. SVN

Branching x Tagging

Page 12: Git vs. SVN

Branching x Tagging

master

Page 13: Git vs. SVN

Branching x Tagging

masterbranch

feature_x

merge

Page 14: Git vs. SVN

Branching x Tagging

master

feature_ybranch

branch

feature_x

merge

Page 15: Git vs. SVN

Branching x Tagging

master

feature_ybranch

Tag 1.0.0

branch

feature_x

merge

Page 16: Git vs. SVN

Branching x Tagging

master

feature_ybranch

Tag 1.0.0

branch

feature_x

merge

Tag 1.0.1

Page 17: Git vs. SVN

GIT x SVN

Page 18: Git vs. SVN

GIT x SVN

GITdistribuído

armazenamento otimizado+++ rápido

Page 19: Git vs. SVN

GIT x SVN

GITdistribuído

armazenamento otimizado+++ rápido

SVNcentralizado

duplica códigopossui controle de acesso

Page 20: Git vs. SVN

SVNServidor

Cliente Y

Cliente X

Page 21: Git vs. SVN

SVN

checkout

Servidor

Cliente Y

Cliente X

Page 22: Git vs. SVN

SVN

checkout

Servidor

Cliente Y

alteração

Cliente X

Page 23: Git vs. SVN

SVN

checkout

commit

Servidor

Cliente Y

alteração

Cliente X

Page 24: Git vs. SVN

SVN

checkout

commit

update

Servidor

Cliente Y

alteração

Cliente X

Page 25: Git vs. SVN

GITServidor

Cliente X

Cliente Y

Page 26: Git vs. SVN

GIT

clone

Servidor

Cliente X

Cliente Y

Page 27: Git vs. SVN

GIT

clone

alteração

Servidor

Cliente X

Cliente Y

Page 28: Git vs. SVN

GIT

clone

add

alteração

Servidor

Cliente X

Cliente Y

Page 29: Git vs. SVN

GIT

clone

commit

add

alteração

Servidor

Cliente X

Cliente Y

Page 30: Git vs. SVN

GIT

clone

push

commit

add

alteração

Servidor

Cliente X

Cliente Y

Page 31: Git vs. SVN

GIT

clone

push

pull

commit

add

alteração

Servidor

Cliente X

Cliente Y

Page 32: Git vs. SVN
Page 33: Git vs. SVN

Faça commit toda hora!! !

Faça commit a cada funcionalidade!!

GIT Boas Práticas

Page 34: Git vs. SVN

Faça commit toda hora!! !

Faça commit a cada funcionalidade!!

- Rastreabilidade das alterações;

- Usar o histórico como documentação do projeto.

- Visualização da evolução do projeto;

Isso possibilita:

GIT Boas Práticas

Page 35: Git vs. SVN

Não inserir comentários redundantes ao fazer commit.

Ex.: git commit -m “Remoção da validação do cpf ”

GIT Boas Práticas

Page 36: Git vs. SVN

As mensagens não devem dizer apenas O QUE foi feito, mas PORQUE foi feito.

Ex.: git commit -m “Remoção da validação do cpf devido à internacionalização do cadastro e o cpf ser referente apenas ao Brasil”

GIT Boas Práticas

Page 37: Git vs. SVN

Use o histórico… a toda hora!

gitk

gitk

gitk

gitk

GIT Boas Práticas

Page 38: Git vs. SVN

Jessé Cirilo Soares Analista de Sistemas no LEMAF/UFLA

[email protected] @jessebodao

linkedin.com/in/jessesoares