controlo de versões distribuído com git

Post on 27-Jun-2015

1.550 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

O Git é um sistema de controlo de versões distribuído altamente performante, extensível e potente, que está a ser adoptado cada vez mais por developers de diferentes plataformas incluindo .NET. Nesta apresentação o Caio irá mostrar os primeiros passos com o Git, como trabalhar em equipa sem pisar os pés uns dos outros e permitindo uma gestão mais fácil dos artefactos de um projecto, incluindo código, documentação e binários. Irá partilhar as suas experiências de uso do Git no dia-a-dia em equipa, as reacções e as melhorias que Git trouxe, e quais as convenções e fluxos de trabalho que utiliza.

TRANSCRIPT

http://netponto.org

Controlo de Versão Distribuído com GitCaio Proiete

17ª Reunião Presencial - 22/01/2011

Caio Proiete

Consultor Independente / Freelancer–> http://caioproiete.net

Formador @ CICLO–> http://ciclo.pt

Microsoft MVP, MCT, MC*.net

Agenda

• Introdução• Como usar / comandos básicos• Desenvolvimento em paralelo• Partilha de repositórios em equipa• Workflows mais comuns

Git: O que é isto?

• Sistema de Controlo de Versões–Desenvolvimento distribuído–Óptimo para desenvolvimento não-linear– Funciona fora do Visual Studio (!)–Rápido. Muito rápido!–Gratuito e Open Source– – Funciona fora do Visual Studio (!)

Git: O que é isto? (cont.)

• Começou a ser desenvolvido em Abril de 2005 pelo Linus Torvalds. É utilizado para manter o kernel do Linux há 5 anos

• Actualmente mantido pelo Junio Hamano com outros 280+ developers

Git: I can haz download?

http://git-scm.com

Git != GitHub

http://git-scm.com

http://github.com

Site oficial, documentação, download, etc...

Serviço que permite alojar repositórios via Internet

Desenvolvimento Distríbuido...

Desenvolvimento Centralizado

Desenvolvimento Distribuído

Vantagem?

• Pode fazer TUDO sem precisar do servidor!–Consultar toda a história do projecto desde o

primeiro commit;–Obter versões mais antigas do projecto;– E o mais importante: Efectuar commits!!

Escrever a história de forma linear

Git for Windows: msysgit

Git for Windows: msysgit

Comandos básicos do Git

• git init–Criar um novo repositório do git

• git status–Mostrar o que mudou desde o último commit

• git add– Escolher o que fará parte do próximo commit

• git commit–Gravar um novo commit

Comandos básicos do Git (cont.)

• git log / gitk [2]

–Consultar os commits (história)• git reset–Mover o apontador “HEAD”

• git config–Configurar opções globais ou do repositório

[2] Não é exactamente um comando, mas uma aplicação

Comandos básicos do Git

demonstração

Comandos básicos do Git (cont.)

Ficheiro .gitignore#Ignore thumbnails created by WindowsThumbs.db

#Ignore files created by Visual Studio*.suo*.user[Oo]bj[Bb]in[Dd]ebug*/[Rr]elease*/_ReSharper*/

Desenvolvimento em paralelo

• git branch– Listar/Criar/Apagar branches

• git checkout– Saltar entre branches (e não só)

• git merge– Efectuar merge de branches

• git mergetool– Ferramenta de merge (resolver conflitos)

Desenvolvimento em paralelo

demonstração

Partilha de repositórios em equipa

• git clone–Obter uma cópia de um repositório remoto

• git pull–Receber actualizações de um repositório

• git push– Enviar actualizações para um repositório

Partilha de repositórios em equipa

demonstração

Workflows mais comuns

Subversion-Style

Descentralized but centralized

Integration Manager

Dictator and Lieutenants

Questões?

ReferênciasGit Scm - Site oficial do Git

– http://git-scm.com

Posts sobre Git em meu blog– http://caioproiete.net/pt/tag/git/

Pro Git (e-book)– http://progit.org

Git Ready (tutorial / tips)– http://www.gitready.com

Git Magic (e-book)– http://www-cs-students.stanford.edu/~blynn/gitmagic

ReferênciasGit for Beginners

– http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide

Why Git is Better than X– http://whygitisbetterthanx.com

Git Is Your Friend not a Foe– http://hades.name/blog/2010/01/17/git-your-friend-not-foe

A successful Git branching model– http://nvie.com/posts/a-successful-git-branching-model

Use Git For What It Is Not Intended (UGFWIINI)– http://thread.gmane.org/gmane.comp.version-control.git/110411

Obrigado!

Caio Proietecaio@netponto.orghttp://caioproiete.nethttp://twitter.com/caioproiete

top related