controle de versão com git

Post on 28-May-2015

4.035 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Controle de versão com GIT

Paulo César M Jeveaux

@jeveaux

jeveaux.com

controlar versão de código, Batman, pra que

isso?

controlar versão de código, Batman, pra que

isso?ouch!

controlar versão de código, Batman, pra que

isso?ouch!

Robin, como você controla as alterações do seu

código?

E como você controla as versões do seu produto?

E o hitórico de tudo isso?

git• Open Source

• Criado por Linus Torvalds

• Necessidade de manter o

controle de versão do

código do Kernel do Linux

• Mantido por Junio Hamano

• Para projetos P, M, G e XG

• Sistema de controle de

versões distribuído!

git• Desenvolvimento distribuído

• Rápido!

• Branches e merges sem dor

e forma simples

• Rápido!

• Eficiente e simples

• Comunidade forte

• Rápido!

alguém usa isso?

alguém usa isso?

Linux Kernel

Perl

gnome

Android

Fedora

Debian

X.org

PostgreSQL

...muitos outros

Conceitocentralizado X distribuído

repositório

dev 1

dev 2

dev 3

dev n

• repositório único e centralizado

• commit só por usuário com permissão

centralizado

repositório

dev 1

dev 2

dev 3

dev n

• repositório único e centralizado

• commit só por usuário com permissão

históricos, commits,

branches, etc

centralizado

repositório

dev 1

dev 2

dev 3

dev n

• repositório único e centralizado

• commit só por usuário com permissão

checkout no dia N

históricos, commits,

branches, etc

centralizado

repositório

dev 1

dev 2

dev 3

dev n

• repositório único e centralizado

• commit só por usuário com permissão

checkout no dia N

checkout no dia N+1diferente do dev 1

históricos, commits,

branches, etc

centralizado

repositório

dev 1

dev 2

dev 3

dev n

• repositório único e centralizado

• commit só por usuário com permissão

checkout no dia N

checkout no dia N+1diferente do dev 1

checkout no dia N+2diferente do dev 1 e 2

históricos, commits,

branches, etc

centralizado

repositório

dev 1

dev 2

dev 3

dev n

• repositório único e centralizado

• commit só por usuário com permissão

checkout no dia N

checkout no dia N+1diferente do dev 1

checkout no dia N+2diferente do dev 1 e 2

checkout no dia N+3diferente do dev 1, 2 e 3

históricos, commits,

branches, etc

centralizado

dev 1

dev 2

dev 3

dev n

• cada cópia é um repositório completo

• histórico completo e total

• commit local {on|off}line

• commits podem ser transferidos entre repositórios

de forma simples com pull ou push

distribuído

dev 1

dev 2

dev 3

dev n

• cada cópia é um repositório completo

• histórico completo e total

• commit local {on|off}line

• commits podem ser transferidos entre repositórios

de forma simples com pull ou push

uma nova cópia pode ser feita de qualquer repositório

distribuído

dev 1

dev 2

dev 3

dev n

• cada cópia é um repositório completo

• histórico completo e total

• commit local {on|off}line

• commits podem ser transferidos entre repositórios

de forma simples com pull ou push

uma nova cópia pode ser feita de qualquer repositório

distribuído

commits podem ser transferidos por todos repositórios

você pode fazer commit de qualquer lugar, até no avião!

você pode fazer commit de qualquer lugar, até no avião!

RLY?

branches

• rápido!

• muito rápido!

• branches locais baratas

• branches também podem ser remotas (github)

• merge super poderoso

• uma branch para cada feature/história/bug/etc

histórico

logs

diffs

commits

merge

pull

push

tag

stash

index

bisect

GIT-SVN

ferramentas e utilidades

o terminal é seu amigo :)

gitk

tower

... e muitas outras ferramentas

• gitnub

• qgit

• git-gui

• tortoise-git

• ...

github

comunidade em torno de código

muitos projetos open source

serve para projetos privados

funciona! funciona muito bem!

comunidade em torno de código

muitos projetos open source

serve para projetos privados

funciona! funciona muito bem!

grátis para open source

fork de maneira fácil e rápida

facilita muito a colaboração

é o queridinho na comunidade

Ruby on Rails

jQuery

Redis

node.js

reddit

curl

CakePHP

django

mongodb

Quem usa github

Servidor GIT privado

gitorious• gratuito

• open source

• pode ser usado também online como o github, também gratuito

muitas opções

• gitosis

• codebasehq

• repo.or.cz

• gitorious

• ...

Para o alto e avante

akitaonrails.com/screencasts

dúvidas?

Referências

• git-scm.org

• github.com/guides/home

• akitaonrails.com

• “Git: controle de versão de jeito certo” - por Arthur Zapparoli

Controle de versão com GIT

Paulo César M Jeveaux

@jeveaux

jeveaux.com

top related