paint-brush
GIT: explicado em 5 níveis de dificuldadepor@mcsee
5,301 leituras
5,301 leituras

GIT: explicado em 5 níveis de dificuldade

por Maximiliano Contieri4m2023/02/19
Read on Terminal Reader

Muito longo; Para ler

O GIT é um sistema de controle de versão distribuído que permite aos desenvolvedores de software gerenciar e rastrear as alterações feitas em seu código-fonte. Ele permite a colaboração simultânea de vários desenvolvedores na mesma base de código, além de manter um registro abrangente de todas as alterações feitas por cada desenvolvedor individual. Também é de código aberto, o que significa que qualquer pessoa pode usá-lo gratuitamente.
featured image - GIT: explicado em 5 níveis de dificuldade
Maximiliano Contieri HackerNoon profile picture

Conheça e entenda esta fantástica ferramenta.


TL;DR: O que é GIT e por que você deve aprender a usá-lo?


Vou explicar o GIT em cinco níveis para diferentes públicos.


Muitos desenvolvedores juniores estão me perguntando qual linguagem ou framework sofisticado é melhor para começar sua carreira.


Minha resposta é sempre a mesma:

Linguagens e frameworks vêm e vão. Estude inglês e estude GIT.

Criança

O GIT é como um caderno mágico onde você pode anotar todas as alterações feitas em seus projetos de computador.


Sabe quando você faz um desenho e não consegue apagar ou fazer como antes?


Às vezes, quando trabalhamos em grandes projetos, também queremos voltar e ver as versões mais antigas de nossas fotos.


Você pode manter todas as diferentes versões de suas fotos e voltar e vê-las, se quiser.


Você pode desenhar na mesma imagem com seus amigos sem se confundir com as mudanças.


É como uma cápsula do tempo para o seu trabalho.

adolescente

O GIT é uma ferramenta para acompanhar as alterações nos arquivos do computador, especialmente ao trabalhar com outras pessoas em um projeto.


Os amigos podem trabalhar nos mesmos arquivos ao mesmo tempo, sem sobrescrever as alterações uns dos outros por acidente.


O GIT também permite que você salve diferentes versões do seu trabalho, para que você possa voltar para uma versão anterior se precisar.

Estudante de faculdade

GIT é um sistema de controle de versão distribuído.


Ele permite que os desenvolvedores trabalhem na mesma base de código simultaneamente, sem interferir nas alterações uns dos outros.


Ele usa um algoritmo exclusivo para rastrear alterações nos arquivos.


O GIT mantém um histórico de todas as alterações feitas na base de código.


Os desenvolvedores podem colaborar no mesmo projeto, mantendo a capacidade de trabalhar de forma independente.


Se você precisar voltar para uma versão mais antiga do seu trabalho, essa ferramenta facilita fazer isso com o código que você escreveu.


Os desenvolvedores de software usam amplamente o GIT e o consideram um padrão da indústria.


Também é de código aberto, o que significa que qualquer pessoa pode usá-lo gratuitamente.

Estudante graduado

O GIT permite que os desenvolvedores rastreiem as alterações feitas no código-fonte ao longo do tempo.


Essa ferramenta permite a colaboração simultânea de vários desenvolvedores na mesma base de código, além de manter um registro abrangente de todas as alterações feitas por cada desenvolvedor individual.


O GIT permite fácil colaboração, reversão de alterações e gerenciamento de diferentes versões de código.


Alguns recursos importantes do GIT incluem a capacidade de criar branches e mesclá-los, visualizar o histórico de alterações feitas em uma base de código e lidar com conflitos.


Os conflitos surgem quando várias pessoas estão trabalhando no mesmo código.

Especialista

O GIT é um sistema de controle de versão distribuído que permite aos desenvolvedores de software gerenciar e rastrear as alterações feitas em seu código-fonte.


É baseado em um modelo de dados que consiste em um gráfico acíclico direcionado de commits, onde cada commit representa um instantâneo da base de código em um ponto específico no tempo.


O GIT permite a existência de várias ramificações em uma base de código, com a capacidade de mesclar facilmente as alterações de uma ramificação para outra.


Ele usa um algoritmo de mesclagem de três vias, que permite lidar com eficiência com conflitos que podem surgir ao mesclar alterações de várias ramificações.


O GIT permite alterações de preparação antes de confirmar.


Você pode usar ganchos para automatizar tarefas e lidar com grandes arquivos binários usando GIT LFS .


Com o GIT, é possível gerar e fazer a transição entre vários repositórios locais e remotos.

O GIT possui um ecossistema robusto de plug-ins e várias ferramentas de terceiros.


Algumas ferramentas são clientes GIT GUI , plataformas de hospedagem GIT e ferramentas de automação de fluxo de trabalho GIT, que permitem que as equipes usem o GIT de várias maneiras para atender às suas necessidades.


O algoritmo de mesclagem de três vias usado pelo GIT compara a versão ancestral comum de um arquivo com a versão na ramificação atual e a versão na ramificação que está sendo mesclada.


Isso permite que o GIT detecte e trate de conflitos que possam surgir ao mesclar alterações feitas em diferentes branches.


O processo de uma mesclagem de três vias funciona da seguinte maneira:


  1. O GIT primeiro identifica a versão ancestral comum do arquivo que está sendo mesclado. Esta é a versão do arquivo que existia antes de quaisquer alterações serem feitas nas ramificações atual e de destino.


  2. O GIT compara a versão ancestral do arquivo com a versão na ramificação atual. Em seguida, ele registra todas as alterações feitas na ramificação atual em uma versão "atual" especial do arquivo.


  3. O GIT compara a versão ancestral do arquivo com a versão na ramificação de destino e registra todas as alterações feitas na ramificação de destino em uma versão "destino" especial do arquivo.


  4. O GIT pega a versão ancestral comum do arquivo e aplica as alterações registradas nas versões atual e de destino a ele. Se surgir algum conflito (por exemplo, se as mesmas linhas de código foram alteradas nas ramificações atual e de destino), o GIT marcará esses conflitos na versão final do arquivo e solicitará que o usuário os resolva manualmente.


Ao usar esse algoritmo, o GIT pode gerenciar conflitos de mesclagem com eficiência e garantir que a versão final do arquivo represente uma integração coerente e consistente das alterações feitas em ambas as ramificações.