Download - Controle de Versão GIT
Controle de Versãosvn || git
while (true) { echo “Kung Lao wins”;}
Há muito tempo atrás, em uma galáxia distante...
alexandre_loser.php
alexandre_loser20050101.tar.gz
while (true) { echo “Kung Lao wins...Fatality”;}
alexandre_loser.php
alexandre_loser20050102.tar.gz
Sistema de Controle de Versão (VCS)
Sistema de Controle de Versão
alexandre_loser.php
alexandre_loser.php
A
B
Repositório
alexandre_loser.php {v1}alexandre_loser.php {v2}...alexandre_loser.php {vn}
CVSanos 90
Concurrent Version System
CVS•Lento
•Não é transacional
•Não é distribuído*
•Eternos bugs
•Lock em arquivos
•ClearCase
•PVCS
•VSS (Visual Source Safe)
•PerForce
Ctrl+C Ctrl+V CVS
Subversion“CVS Done Right”
Subversion“cvs done right”
• Corrigiu os bugs do CVS
• Atômico
• Renomear, Copiar, Mover e Deletar
• Merge
• Bibliotecas clients
SVN é o projeto mais sem sentido que já foi iniciado...
Linus Torvalds
GITem 2007
SVN x GIT
SVN herdou a lerdeza do CVS...
svn update | svn log | svn commit... svn *
GIT é rápido....repositório local
SVN não é distribuído...
diff
commitupdate
log
Avisa o Junior e...
GIT é distribuído...
.git
.git
.git
.git
commit
diff
status
add
push
pull
Todo o repositório é local
mais vantagens...
repositório local
todo controle OFFLINE
Branches no git são mais intuitivos...
git checkout -b A svn copy /srv/repos/trunk
/srv/repos/branches/A;svn checkout /srv/repos/branches/A /local/branches/A
GIT tem uma área intermediária
só faz commit dos arquivos adicionados na área
o core do LINUX é controlado por GIT
o RAILS é controlado por GIT
o CAKEPHP é controlado por GIT
o ZEND FRAMEWORK é controlado por GIT
o NODE.JS é controlado por GIT
por quê não o Youppie?
Dúvidas?