SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
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 SVN
Caso de Uso
GIT x SVN
Caso de Uso

Repositório da Mozilla
240.000 arquivos
10 anos de histórico do projeto
GIT x SVN
Caso de Uso

Repositório da Mozilla
240.000 arquivos
10 anos de histórico do projeto

12	 GB
Espaço usado no SVN
GIT x SVN
Caso de Uso

Repositório da Mozilla
240.000 arquivos
10 anos de histórico do projeto

12	 GB 420	 MB
Espaço usado no SVN

Espaço usado no Git
GIT x SVN
Caso de Uso

30x

Repositório da Mozilla
240.000 arquivos
10 anos de histórico do projeto

menos espaço após
migrar do SVN para o Git

12	 GB 420	 MB
Espaço usado no SVN

Espaço usado no Git
Branching x Tagging
Branching x Tagging

master
Branching x Tagging
feature_x
branch

master

merge
Branching x Tagging
feature_x
merge

branch

master
branch

feature_y
Branching x Tagging
Tag 1.0.0
feature_x
merge

branch

master
branch

feature_y
Branching x Tagging
Tag 1.0.0
feature_x
merge

branch

master
branch

feature_y

Tag 1.0.1
GIT x SVN
GIT x SVN

GIT
distribuído

armazenamento otimizado

+++ rápido
GIT x SVN

GIT
distribuído

armazenamento otimizado

+++ rápido

SVN
centralizado
duplica código
possui controle de acesso
SVN
Servidor

Cliente X
Cliente Y
SVN
Servidor

checkout

Cliente X
Cliente Y
SVN
Servidor

checkout

Cliente X
Cliente Y
alteração
SVN
Servidor

checkout

Cliente X
commit
alteração

Cliente Y
SVN
Servidor

checkout

update

Cliente X
commit
alteração

Cliente Y
GIT
Servidor

Cliente X
Cliente Y
GIT
Servidor

clone

Cliente X
Cliente Y
GIT
Servidor

clone

Cliente X
Cliente Y
alteração
GIT
Servidor

clone

Cliente X
Cliente Y
alteração

add
GIT
Servidor

clone

Cliente X
Cliente Y
alteração

commit

add
GIT
Servidor

clone

Cliente X
push

Cliente Y
alteração

commit

add
GIT
Servidor

clone

pull

Cliente X
push

Cliente Y
alteração

commit

add
GIT Boas Práticas
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!!
Isso possibilita:
- Rastreabilidade das alterações;
- Visualização da evolução do projeto;
- Usar o histórico como documentação do projeto.
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
Jessé Cirilo Soares	

Analista de Sistemas no LEMAF/UFLA

jessecsoares@gmail.com	

@jessebodao	

linkedin.com/in/jessesoares

Mais conteúdo relacionado

Destaque

Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Fernando Geraldo Mantoan
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With SubversionSamnang Chhun
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasRodrigo Branas
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Javaalexmacedo
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 

Destaque (14)

Introdução ao Git
Introdução ao Git   Introdução ao Git
Introdução ao Git
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
Banca: Proposta de Arquitetura de Desenvolvimento Web Baseada em PHP Utilizan...
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
Design Patterns com PHP
Design Patterns com PHPDesign Patterns com PHP
Design Patterns com PHP
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Introduce to SVN
Introduce to SVNIntroduce to SVN
Introduce to SVN
 
Webstandards
WebstandardsWebstandards
Webstandards
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 

Semelhante a Sistemas de controle de versão e boas práticas do Git

Semelhante a Sistemas de controle de versão e boas práticas do Git (20)

Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Introdução ao git e github
Introdução ao git e githubIntrodução ao git e github
Introdução ao git e github
 
Git presentation
Git presentationGit presentation
Git presentation
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git
GitGit
Git
 
Git e Sistemas de Controle de Versão
Git e Sistemas de Controle de VersãoGit e Sistemas de Controle de Versão
Git e Sistemas de Controle de Versão
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Gerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando GitGerencie as Mudanças de Seu Código Usando Git
Gerencie as Mudanças de Seu Código Usando Git
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
git: o primeiro passo do seu projeto de código aberto
git: o primeiro passo do seu projeto de código abertogit: o primeiro passo do seu projeto de código aberto
git: o primeiro passo do seu projeto de código aberto
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 

Sistemas de controle de versão e boas práticas do Git