migração svn para git

17
Copyright © 2015 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture. 09/04/201 eCommerce Brasil Arquitetura de TI

Upload: denis-santos

Post on 12-Jan-2017

87 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Migração SVN para GIT

Copyright © 2015 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture.

09/04/201

eCommerce BrasilArquitetura de TI

Page 2: Migração SVN para GIT

Copyright © 2015 Accenture. Todos os direitos reservados. Material confidencial e de propriedade da Accenture. Seu logo e “High Performance Delivered” são marcas da Accenture.

09/04/201

Migração SVN para o GIT

Page 3: Migração SVN para GIT

Principal diferença entre SVN e GIT

O Subversion é um sistema de controle de versão centralizado utilizado tradicionalmente em projetos Java. O Git é um sistema de controle de versão distribuído que apresenta crescente adoção na comunidade de desenvolvimento de software em geral, especialmente após sua popularização através do serviço de hospedagem de códigos GitHub e BitBucket.

Page 4: Migração SVN para GIT
Page 5: Migração SVN para GIT

Exemplo de como é fácil manter o fluxo de trabalho

Page 6: Migração SVN para GIT

Por que você deveria mudar do Subversion para Git

"Tenho usado o Subversion por algum tempo. Ele atende bem as minhas demandas, – então, seria apenas um controle de versão, certo?"

Vamos as vantagens inerentes dos sistemas distribuídos em relação aos sistemas centralizados.

Git é um sistema de controle de versão distribuído. Então, o que “distribuído” significa? Significa que em vez de executar `svn checkout (url)` para pegar a última versão do seu repositório, com o Git você roda `git clone (url)`, o que dá a você uma cópia completa de toda o histórico daquele projeto. Isso significa que imediatamente depois do clone, não existe basicamente nenhuma informação sobre aquele projeto que o servidor do qual você clonou tenha que você não tenha. Nesse ponto Subversion se torna ineficiente, comparando, é tão rápido clonar um repositório inteiro no Git quanto fazer o checkout de uma única versão do mesmo repositório no Subversion.

Page 7: Migração SVN para GIT

Algumas vantagens imediatas de usar o Git

Uma é que quase toda a operação agora é feita off data no seu disco local, o que significa que é incrivelmente rápido e pode ser feito offline. Isso significa que você pode fazer commits, diffs, logs, branches, merges, file annotation e mais – inteiramente offline, off VPN.

A outra vantagem implícita desse modelo é que seu fluxo de trabalho não tem um único ponto de falha. Como cada pessoa que trabalha no seu projeto tem o que é essencialmente um backup completo dos dados do projeto, perder seus servidores de colaboração é uma pequena inconveniência.

No Git, qualquer membro da equipe pode enviar arquivos para qualquer servidor onde exista acesso via SSH para qualquer membro, e toda a equipe pode facilmente estar pronta para trabalhar em uma questão de minutos.

Uma desvantagem imediata de usar o Subversion

Imagine, por um momento, seu servidor Subversion tendo uma séria corrupção de drive – quando foi seu último backup e quantas horas vão demorar para que sua equipe possa voltar a trabalhar?

Page 8: Migração SVN para GIT

Melhor Governança com fluxos de trabalho

O Git não depende de um servidor central, mas tem a habilidade de sincronizar com outros repositórios Git – para pegar e levar as mudanças entre eles. Isso significa que você pode adicionar múltiplos repositórios remotos ao seu projeto, alguns somente de leitura e outros com possibilidade de acesso de escrita também, o que significa que você pode ter quase qualquer tipo de fluxo de trabalho em que você pode pensar.

Integração contínua e Deploy Contínuo

Existem centenas de ferramentas, muitas delas SaaS, onde você apenas autoriza por uma credencial, dando acesso a está ferramenta ao seu repositório Git, e baseado em eventos como:- Commit na Master- Geração de TAG- Commit em determinada Branch- Aprovação de Pull Request

Esses eventos podem gerar facilmente um deploy da sua aplicação em ambientes de Dev, QA, Stage ou Production, e essas ferramentas permitem facilmente integração de código em servidores, principalmente em ambientes Cloud como AWS, Google, Digital OceanAs integrações com servidores Git são inúmeras.

Page 9: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Conheça o GitFlow

Page 10: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Pull Request

Page 11: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Pull Request

Page 12: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Pull Request

Page 13: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Pull Request

Page 14: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Pull Request

Page 15: Migração SVN para GIT

Melhor Governança nos fluxos de trabalho - Conheça o GitFlow

Page 16: Migração SVN para GIT

Empresas que usam o Git

Page 17: Migração SVN para GIT