Download - Git Básico
GitSistema de Controle de Versão
Version Control System
VCS
Source Code Management
SCM
Em síntese, é um software que gerencia múltiplas versões de arquivos.
● Salva alterações de arquivos de texto.● Gerencia versão do software em si.● Auxilia trabalho em equipe.● Permite resgatar versões anteriores e,
eventualmente, ramificar o projeto.
Repositório
Cópia local Cópia local
Cópia local
Repositório
Cópia local
UpdateCommit
Primeiro commit
Criação do projeto
Implementação da feature X
Alley is the roughest place I've ever been
Bo bo bo bo bo bo bo bad
One bourbon, one scotch, one beer
Projeto finalizado
Repositório "alternativo"
Branches
Repositório
Cópia local(trunk)
Cópia local(branch 2)
Cópia local(branch 1)
Permite etiquetar algum nó
Tags
Primeiro commit
Criação do projeto
Implementação do sistema de mú
Alley is the roughest place I've ever been
Bo bo bo bo bo bo bo bad
One bourbon, one scotch, one beer
Projeto finalizado
Stevie Ray Vaughn
Thorogood
CVS & SVN
Sistema de Controle de Versão Distribuído
Git
Repositório
Repositório Repositório
Commits locais
Mudança de Fluxo
Antes
1. Desenvolve feature2. Faz update3. Comita alteração
Agora
1. Desenvolve feature2. Comita alteração
local3. Atualiza: pull4. Envia commits:
push
mais eficientes
Branches
Na prática
criando um repositório
$ git init .
adicionando arquivos para serem comitados
$ git add teste.txt
comitando alterações
$ git commit -m "primeiro commit"
clonando um repositório
$ git clone /caminho/para/o/repositorio
enviando commits para o branch master no repositório origin
$ git push origin master
recebendo commits do o branch master no repositório origin
$ git pull origin master
Clientes
● Plugin para Eclipse: EGit● Windows: Tortoise Git● Mac: SourceTree ou GitX● Para os fortes: modo texto \m/
porque não basta só usar a ferramenta
Boas práticas
Commits conscientes
● Comitar sempre que○ terminar uma feature ou○ corrigir um bug.
● Incluir somente os arquivos certos daquela alteração.
● Comentários de commits claros e concisos, seguindo padrões definidos para o projeto.
● Jamais comitar algo que não está testado ou que não está terminado.
entre a equipe é essencial para evitar conflitos
Comunicação
para definir versões do projeto
Usar tags
Extras
● Pro Githttp://git-scm.com/book/
● Magia Githttp://www.slideshare.net/slide_user/magia-git
● VideoCast Começando com Githttp://vimeo.com/43683141
● Git Docshttp://git-scm.com/documentation
● Git Immersionhttp://gitimmersion.com/
● Easy Version Control with Githttp://net.tutsplus.com/tutorials/other/easy-version-control-with-git/
● Git From the Bottom Uphttp://ftp.newartisans.com/pub/git.from.bottom.up.pdf