Git vs. SVN

Preview:

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

Sistemas de controle de versões de arquivos

GIT

Criado por Linus Torvalds

GIT x SVN

GIT x SVN

SVN - Centralizado Git - Distribuído

GIT x SVNCaso de Uso

GIT x SVN

Repositório da Mozilla240.000 arquivos

10 anos de histórico do projeto

Caso de Uso

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

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

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

Branching x Tagging

Branching x Tagging

master

Branching x Tagging

masterbranch

feature_x

merge

Branching x Tagging

master

feature_ybranch

branch

feature_x

merge

Branching x Tagging

master

feature_ybranch

Tag 1.0.0

branch

feature_x

merge

Branching x Tagging

master

feature_ybranch

Tag 1.0.0

branch

feature_x

merge

Tag 1.0.1

GIT x SVN

GIT x SVN

GITdistribuído

armazenamento otimizado+++ rápido

GIT x SVN

GITdistribuído

armazenamento otimizado+++ rápido

SVNcentralizado

duplica códigopossui controle de acesso

SVNServidor

Cliente Y

Cliente X

SVN

checkout

Servidor

Cliente Y

Cliente X

SVN

checkout

Servidor

Cliente Y

alteração

Cliente X

SVN

checkout

commit

Servidor

Cliente Y

alteração

Cliente X

SVN

checkout

commit

update

Servidor

Cliente Y

alteração

Cliente X

GITServidor

Cliente X

Cliente Y

GIT

clone

Servidor

Cliente X

Cliente Y

GIT

clone

alteração

Servidor

Cliente X

Cliente Y

GIT

clone

add

alteração

Servidor

Cliente X

Cliente Y

GIT

clone

commit

add

alteração

Servidor

Cliente X

Cliente Y

GIT

clone

push

commit

add

alteração

Servidor

Cliente X

Cliente Y

GIT

clone

push

pull

commit

add

alteração

Servidor

Cliente X

Cliente Y

Faça commit toda hora!! !

Faça commit a cada funcionalidade!!

GIT Boas Práticas

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

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

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

GIT Boas Práticas

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

Use o histórico… a toda hora!

gitk

gitk

gitk

gitk

GIT Boas Práticas

Jessé Cirilo Soares Analista de Sistemas no LEMAF/UFLA

jessecsoares@gmail.com @jessebodao

linkedin.com/in/jessesoares

Recommended