svn - subversion

50
svn > subversion

Upload: rafael-une

Post on 04-Jul-2015

180 views

Category:

Technology


6 download

DESCRIPTION

Apresentação explicando detalhes básicos do SVN.

TRANSCRIPT

Page 1: SVN - Subversion

svn>

subversion

Page 2: SVN - Subversion

QUEM TEM

MEDODE MUDANÇA?

Page 3: SVN - Subversion

Na natureza nada se cria, nada se perde, tudo se transforma.“

Antoine Lavoisier

Page 4: SVN - Subversion

MUDANÇASSÃO INEVITÁVEIS

Page 5: SVN - Subversion
Page 6: SVN - Subversion

SOURCE CONTROL SYSTEMS

Page 7: SVN - Subversion

TIMETRAVEL

Page 8: SVN - Subversion

svn>

Page 9: SVN - Subversion

REPOSITÓRIO

Page 10: SVN - Subversion

ESTRUTURABÁSICA

Page 11: SVN - Subversion

/trunk

versão estávelpronto pra ser lançado em produção

Page 12: SVN - Subversion

/branch

trabalhar paralelamentedesenvolver novas funcionalidades

Page 13: SVN - Subversion

/tag

marco históricoum rótulo pra identificar facilmente algo

Page 14: SVN - Subversion
Page 15: SVN - Subversion

SVNCOMMANDS

Page 16: SVN - Subversion

obtendo arquivos do repositório

usado para obtermos os arquivos de umprojeto já existente ao iniciarmos nele

$ svn checkout

Page 17: SVN - Subversion

adicionando arquivos ao controle de versão

usado para adicionarmos novos arquivoscriados ao controle de versão do svn

$ svn add

os novos arquivos só são adicionados aorepositório remoto após o commit

Page 18: SVN - Subversion

obtendo as modificações do repositório

usado para atualizarmos os arquivoscom as modificações do repositório

$ svn update

Page 19: SVN - Subversion

removendo arquivos do controle de versão

usado para remover arquivos$ svn delete

os arquivos só são removidosdo repositório remoto após o commit

Page 20: SVN - Subversion

enviando as modificações para o repositório

usado para enviar ao repositórioas modificações realizadas nos arquivos

$ svn commit

faça um update antes do commit, assim você pode resolver os conflitos e revalidar a versão antes de commitar

Page 21: SVN - Subversion

renomeando arquivos do controle de versão

usado para renomear arquivos$ svn mv

os arquivos só serão renomeados norepositório remoto após o commit

Page 22: SVN - Subversion

DEMO

Page 23: SVN - Subversion

IMPLEMENTANDONOVAS FUNCIONALIDADES

Page 24: SVN - Subversion

criando uma branch

geramos uma nova linha de desenvolvimentoa partir da versão mais estável, ou seja, a trunk

$ svn copy

Page 25: SVN - Subversion

trabalhando com a branch

usamos o mesmo comando que vimos antespara obter os arquivos já existentes norepositório, só que dessa vez apontamospara a branch que estamos trabalhando

$ svn checkout

Page 26: SVN - Subversion

DEMO

Page 27: SVN - Subversion

CONFLITOS

Page 28: SVN - Subversion

causa comum

$ svn commit FILE revision 5

$ svn commit FILE revision 5

revision 6

$ svn: Out of date $ svn update$ svn: Conflicted!

Page 29: SVN - Subversion

o que fazer?

(...)

Page 30: SVN - Subversion

resolvendo conflitos comoum altruísta

revertemos as mudanças locais e atualizamos os arquivos com a versão do repositório

$ svn revert$ svn update

Page 31: SVN - Subversion

resolvendo conflitos comoum egoísta

ignoramos as mudanças vindas do repositório e mantemos as mudanças locais

$ cp FILE.mine FILE$ svn resolved FILE

Page 32: SVN - Subversion

resolvendo conflitos comoum adulto

verificamos as mudanças vindas do repositório com as mudanças locais

<<<<<<< .mineThis is fun stuff! =======This is a doc file >>>>>>> .r6

Page 33: SVN - Subversion

DEMO

Page 34: SVN - Subversion

FINALIZANDOO TRABALHO

Page 35: SVN - Subversion

merge

mesclamos as mudanças da branch na trunk$ svn merge --reintegrate

traga as mudanças da trunk para a branch,resolva os conflitos e depois faça o merge na trunk

Page 36: SVN - Subversion

DEMO

Page 37: SVN - Subversion

CRIANDO MARCOSNA HISTÓRIA

Page 38: SVN - Subversion

criando uma tag

gerarmos uma tag de uma release, snapshote etc

$ svn copy

Page 39: SVN - Subversion

DEMO

Page 40: SVN - Subversion

BOAS PRÁTICASSVN + VS

Page 41: SVN - Subversion

ignorar bin e obj

removemos os arquivos de build do controle de versão

controle de versão de código não trabalha bem com arquivos binários

Page 42: SVN - Subversion

atualizar o .csproj

ao adicionar novos arquivos devemos incluir o .csproj no nosso commit, assim, os arquivos adicionados ficam disponíveis para os demais membro do time trabalhando no projeto

Page 43: SVN - Subversion

ignorar o .csproj.user

esse arquivo armazena suas configurações da IDE do Visual Studio, por mais legal que elas possam ser pra você, gosto é gosto e não se discute

Page 44: SVN - Subversion

ignorar o *.suo

outro arquivo que armazena opções do usuário para a solução e não deve ser incluído no controle de versão

Page 45: SVN - Subversion

DEMO

Page 46: SVN - Subversion

RECOMENDAÇÕES

Page 47: SVN - Subversion

TortoiseSVN

extensão pro Windows

FREE!

http://tortoisesvn.net/

Page 48: SVN - Subversion

VisualSVN

plugin integrado ao Visual Studio

https://www.visualsvn.com/visualsvn/

Page 49: SVN - Subversion

Se quiser derrubar uma árvore na metade do tempo, passe o dobro

amolando o machado.“

Desconhecidomantenha atualizado seus plugins

Page 50: SVN - Subversion

Muito obrigado!Rafael Kiyohiro Une

[email protected]/rafaelunegithub.com/rafaelune

Jonathan Tavares

[email protected]