Top Banner
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
17

Migração SVN para GIT

Jan 12, 2017

Download

Technology

Denis Santos
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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