Introdução ao sistema de controle de versão GIT

Git é um dos termos mais comuns ouvidos entre programadores nos últimos quatro e cinco anos. Vou apresentar aqui algumas dicas sobre essa ferramenta e por que ela é tão popular entre os programadores. Neste tópico, vamos aprender sobre o GIT Version Control System.

O que é e por que versão Controller?

Linus Torvalds, que iniciou o kernel do Linux, foi a pessoa que criou este software para manter e rastrear diferentes versões do código fonte entre os programadores.

Cenário 1

Imagine uma equipe de cinco membros que estão trabalhando no código-fonte mestre aprimorando recursos diferentes para ele. Basta pensar em como eles podem trabalhar no mesmo código-fonte, sem confusão entre as mudanças? Cada um tem que saber o que os outros quatro estão fazendo e não deve haver negligência nisso. E no final da hora de trabalho, eles precisam gastar algum tempo coordenando os trabalhos para que, finalmente, um código-fonte seja mantido. Parece uma intervenção muito agitada e definitivamente manual na manutenção do código fonte é mais arriscada. Portanto, para ajudar ou dizer para automatizar todas essas versões nas quais todos os cinco programadores estão trabalhando, precisamos de um controlador de versão escrito corretamente e o GIT é um deles. Existe um termo para as etapas acima e é chamado Gerenciamento de código-fonte ou Gerenciamento de configuração de software (SCM).

Cenário # 2

Agora considere mais um cenário em que a automação do controlador de versão ajuda. Escrevemos a primeira versão do código e o cliente aprovou a instalação na produção, permitindo que esta seja a versão 1.0. Agora, após alguns meses, o cliente oferece um trabalho de aprimoramento e você trabalha anteriormente, para desenvolver a versão 1.1 e enviar para o cliente. Mas o cliente sugere uma abordagem diferente e esta versão 1.1 não é útil para você de acordo com a nova abordagem do cliente. Então você descarta isso e trabalha na versão 1.2, que é enviada e aprovada. E assim por diante, você continua trabalhando no desenvolvimento de versões diferentes. Mas você não acha que salvar manualmente todas as versões em algum lugar e manter o código-fonte não é complicado? Em algum momento, pode ser necessário consultar a versão 1.1, que você descartou e não é útil.

Portanto, para manter diferentes versões de código escritas por um ou vários programadores, usamos controladores de versão.

Tipos diferentes de controlador de versão

Existem diferentes tipos de ferramentas disponíveis e abaixo estão algumas delas

  1. Subversion - Desde que foi desenvolvido pelo Apache, amplamente utilizado pelos fornecedores do Apache.
  2. Git
  3. Bazar
  4. Mercurial

Basicamente, existem dois tipos de metodologias de sistema de controle de versão nas quais as ferramentas acima funcionam. Eles são

Sistema de Controle de Versão Centralizado (CVCS) Sistema de Controle de Versão Distribuído (DVCS)

1. CVCS

Aqui, o código gravado é armazenado no repositório centralizado ou no servidor centralizado. Nenhuma cópia de trabalho disponível em máquinas locais, o que é uma grande desvantagem quando há falha no servidor. Eu preciso ter uma conexão ativa com o servidor sempre para trabalhar no repositório. O SVN usa esse sistema de controle

2. DVCS

Aqui também temos o código fonte no servidor, mas junto com isso, temos como cópia local nas máquinas em funcionamento. Portanto, mesmo se houver uma falha no nível do servidor, podemos espelhar a cópia de trabalho local no servidor quando ela for restaurada. Esta disponibilidade de cópia de trabalho local em cada máquina responsável pelo termo 'Distribuído' no DVCS. Git, Mercurial usa um sistema de controle de versão distribuído

O Git usa o conceito de ramificação ou mais tecnicamente chamado de TBD de desenvolvimento baseado em tronco. O que realmente significa é que podemos criar várias ramificações a partir do mestre e, nessas ramificações, os programadores podem trabalhar e confirmar suas alterações nessas ramificações e cada uma dessas confirmações é rastreada. E uma vez que os clientes aprovam, podemos mesclar todas as ramificações ao código mestre na produção. Dessa maneira, não afetam diretamente o código-fonte mestre. Trabalhar diretamente no código-fonte mestre será mais arriscado e precisa ser evitado. Podemos trabalhar em filiais e executar vários cenários de teste e, uma vez estabilizada e aprovada a versão final, podemos trabalhar na fusão da master, o que reduz o risco em uma quantidade significativa.

O Git é realmente gratuito e, para usuários de Mac, está disponível por padrão. No Linux, podemos instalar o git e, no Windows, temos algo, o Git Bash. Existem duas fontes de repositório mais populares nas quais podemos trabalhar com o Git e elas são o Git Hub e o Bit Bucket e a organização que escolhe basear-se em suas preferências.

Vantagens do sistema de controle de versão GIT

  • Suporta a forma de desenvolvimento herdada, que é uma forma linear e também não linear de desenvolvimento
  • Desde que distribuído na natureza, menos preocupações com falhas no servidor de ponto único. Sempre podemos espelhar o código do repositório local para o servidor.
  • Também podemos implementar uma camada de segurança em cima do git, que pode atribuir restrições de acesso em commit pull e push.
  • Pode trabalhar em várias plataformas, como Mac, Linux, Windows, etc
  • Absolutamente gratuito e de código aberto
  • Eficiente e rápido devido à natureza distribuída
  • Rastreamento claro de confirmações, atualizações, reverts, versões, push and pull
  • Fornece o GitBash para janelas fáceis de usar.
  • Existem também várias GUI disponíveis para trabalhar em cima do GIT
  • Não requer uma conexão de rede ativa sempre desde a disponibilidade do repositório local.

Trabalhando com Git

  • Crie a ramificação de trabalho a partir do mestre de origem ou de outra ramificação, dependendo do requisito
  • Clone a ramificação no local usando o GitBash para Windows
  • Trabalhar na filial e executar modificações ou adição de componentes a ela
  • Confirme as alterações e consulte o tracker de confirmação
  • Se você achar que a confirmação foi desnecessária, você pode reverter a confirmação para a anterior
  • Se vários programadores trabalhando na mesma ramificação, o repositório local deve ser atualizado antes de enviar suas alterações. Então execute PULL
  • Agora você poderá executar o PUSH
  • Depois que a revisão e a aprovação do código foram feitas em sua filial, podemos mover o código para a produção de maneira ansível ou de qualquer maneira que a organização use.
  • Mesclar a ramificação para o mestre para que tenhamos o código atualizado.

O Git é o sistema de controle de versão distribuído mais usado por causa de sua natureza distribuída, sem ponto único de falha e é de código aberto. Você pode tentar trabalhar com ele usando código de exemplo no GitHub e GitBash no Windows PC, pois os comandos git são simples e facilmente disponíveis online.

Artigos recomendados

Este é um guia para o GIT Version Control System. Aqui discutimos os diferentes tipos de controlador de versão com vantagens e funcionamento. Você também pode consultar o seguinte artigo para saber mais:

  1. Comandos GIT
  2. Introdução ao GIT
  3. Alternativas Git
  4. O que é o Git?
  5. Versões do Tableau
  6. Mestre de Origem Git
  7. O que é o Hub?
  8. Três estágios do ciclo de vida do Git com o fluxo de trabalho
  9. Como usar o GIT Cherry-pick com o Exemplo?

Categoria: