Uma introdução ao Git: o que é e como usá-lo

Foto de Markus Spiske em Unsplash

Git é um sistema de controle de versão distribuída de código aberto. Agora, existem muitas palavras para definir o Git.

Deixe-me explicar e explicar o texto:

  • Sistema de Controle: Isso basicamente significa que o Git é um rastreador de conteúdo. Portanto, o Git pode ser usado para armazenar conteúdo - ele é usado principalmente para armazenar código devido aos outros recursos que ele fornece.
  • Sistema de controle de versão: o código armazenado no Git continua mudando à medida que mais código é adicionado. Além disso, muitos desenvolvedores podem adicionar código em paralelo. Portanto, o Sistema de Controle de Versão ajuda a lidar com isso, mantendo um histórico de quais mudanças ocorreram. Além disso, o Git fornece recursos como ramificações e mesclagens, que abordarei mais adiante.
  • Sistema de controle de versão distribuído: O Git possui um repositório remoto que é armazenado em um servidor e um repositório local que é armazenado no computador de cada desenvolvedor. Isso significa que o código não está apenas armazenado em um servidor central, mas a cópia completa do código está presente em todos os computadores dos desenvolvedores. Git é um sistema de controle de versão distribuído, pois o código está presente no computador de todos os desenvolvedores. Vou explicar o conceito de repositórios remotos e locais posteriormente neste artigo.

Por que é necessário um sistema de controle de versão como o Git

Projetos da vida real geralmente têm vários desenvolvedores trabalhando em paralelo. Portanto, é necessário um sistema de controle de versão como o Git para garantir que não haja conflitos de código entre os desenvolvedores.

Além disso, os requisitos desses projetos mudam frequentemente. Portanto, um sistema de controle de versão permite que os desenvolvedores revertam e voltem para uma versão mais antiga do código.

Finalmente, às vezes vários projetos que estão sendo executados em paralelo envolvem a mesma base de código. Nesse caso, o conceito de ramificação no Git é muito importante.

Vamos começar a usar o Git agora

Em vez de mencionar todos os conceitos de uma só vez, explicarei os conceitos do Git através de um exemplo, para que seja mais fácil seguir.

Baixar git

Este link contém detalhes sobre como instalar o Git em vários sistemas operacionais:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

Verifique se o Git está instalado usando o seguinte comando no prompt de comando:

git --version

Crie seu repositório Git local

No seu computador, crie uma pasta para o seu projeto. Vamos chamar a pasta do projeto simple-git-demo.

Vá para a pasta do projeto e adicione um repositório Git local ao projeto usando os seguintes comandos:

cd simple-git-demo
git init

O comando git init adiciona um repositório Git local ao projeto.

Vamos adicionar um pequeno código agora

Crie um arquivo chamado demo.txt na pasta do projeto e adicione o seguinte texto:

Conteúdo inicial

Aqui estaremos demonstrando apenas texto simples em vez de código real, pois o foco principal deste artigo é o Git e não qualquer linguagem de programação específica.

Preparando e Confirmando o Código

Confirmar é o processo no qual o código é adicionado ao repositório local. Antes de confirmar o código, ele deve estar na área de preparação. A área de preparação está lá para acompanhar todos os arquivos que devem ser confirmados.

Qualquer arquivo que não seja adicionado à área de preparação não será confirmado. Isso dá ao desenvolvedor controle sobre quais arquivos precisam ser confirmados.

Estadiamento

Use o seguinte comando para preparar o arquivo:

git add demo.txt

Caso você queira adicionar vários arquivos, você pode usar:

git adicionar arquivo1 arquivo2 arquivo3

Se você deseja adicionar todos os arquivos dentro da pasta do projeto à área de preparação, use o seguinte comando:

git add.

Use isso com cuidado, pois adiciona todos os arquivos e pastas do seu projeto à área de preparação.

Cometer

Use o seguinte comando para confirmar o arquivo:

git commit -m "Confirmação inicial"

"Confirmação inicial" é a mensagem de confirmação aqui. Digite uma mensagem de confirmação relevante para indicar quais alterações de código foram feitas naquele commit específico.

Status do Git e log do Git

Agora modifique o arquivo demo.txt e adicione o seguinte trecho:

Conteúdo inicial
Adicionando mais conteúdo

Status

Use o status git para descobrir informações sobre quais arquivos foram modificados e quais arquivos existem na área de teste - ele também mostra outras informações, que podemos ignorar por enquanto.

Use o seguinte comando para ver o status:

status git

O status mostra que demo.txt foi modificado e ainda não está na área de preparação.

Agora vamos adicionar demo.txt à área de preparação e confirmar com os seguintes comandos:

git add demo.txt
git commit -m "arquivo demo.txt modificado"

Registro

Use o git log para imprimir todas as confirmações feitas até agora.

O comando usado para isso é:
log git

O log mostra o autor de cada confirmação, a data da confirmação e a mensagem de confirmação.

Ramos

Até agora, não criamos nenhuma ramificação no Git. Por padrão, as confirmações do Git vão para a ramificação principal.

O que é um ramo?

Uma ramificação nada mais é do que um ponteiro para o último commit no repositório Git. Portanto, atualmente nossa ramificação principal é um ponteiro para o segundo commit "arquivo demo.txt modificado".

Por que várias ramificações são necessárias?

São necessárias várias ramificações para suportar vários desenvolvimentos paralelos. Consulte a imagem abaixo para ver como os ramos funcionam.

Inicialmente, as confirmações 1 e 2 foram realizadas na ramificação principal. Após a confirmação 2, uma nova ramificação chamada como "Teste" é criada, e as confirmações 3 e 4 são adicionadas à ramificação de teste.

Ao mesmo tempo, uma confirmação 3 e uma confirmação 4 diferentes são adicionadas à ramificação principal. Aqui podemos ver que, após o Commit 2, dois desenvolvimentos paralelos estão sendo feitos em 2 ramificações separadas.

A ramificação de teste e a ramificação principal divergiram aqui e têm código diferente - o código da ramificação de teste pode ser mesclado com a ramificação mestre usando git merge. Isso será abordado mais tarde.

Criar uma nova filial no local

Crie uma nova ramificação chamada teste usando o seguinte comando:

teste de ramificação git

Este comando cria a ramificação de teste.

Ainda estamos no contexto do ramo principal. Para mudar para o ramo de teste. use o seguinte comando:

teste de verificação geral do git

Agora estamos no ramo de teste.

Você pode listar todas as ramificações no local usando o seguinte comando:

ramo git

Faça alguns commits no novo ramo

Modifique demo.txt adicionando o seguinte trecho:

Conteúdo inicial
Adicionando mais conteúdo
Adicionando conteúdo da ramificação de teste

Agora prepare e confirme usando os seguintes comandos:

git add demo.txt
git commit -m "Confirmação de ramificação de teste"

Essa confirmação foi feita na ramificação de teste e agora a ramificação de teste está à frente da ramificação principal por 1 confirmação - já que a ramificação de teste também inclui as 2 confirmações da ramificação principal.

Você pode verificar o histórico de consolidação no Test Branch usando:

log git

Mesclando

Atualmente, o ramo de teste está à frente do mestre por 1 confirmação. Digamos que agora queremos que todo o código da ramificação de teste seja trazido de volta para a ramificação principal. É aqui que o git merge é muito útil.

Para mesclar o código da ramificação de teste na ramificação mestre, siga estas etapas:

Primeiro volte ao ramo principal:

mestre de verificação geral do git

Em seguida, execute o comando mesclar:

teste de mesclagem git

Depois de executar esses 2 comandos, a mesclagem deve ser bem-sucedida. Neste exemplo, não há conflitos.

Mas em projetos reais, haverá conflitos quando uma mesclagem estiver sendo feita. Resolver o conflito é algo que vem com a experiência. Assim, à medida que você trabalha mais com o Git, poderá resolver o problema.

Execute o git log agora e você notará que o mestre também possui 3 confirmações.

O repositório remoto do Git

Até agora, trabalhamos apenas no repositório local. Cada desenvolvedor trabalhará em seu repositório local, mas eventualmente enviará o código para um repositório remoto. Uma vez que o código está no repositório remoto, outros desenvolvedores podem ver e modificar esse código.

Mostrando repositórios remotos e locais

GitHub

Aqui estaremos usando o GitHub para o repositório remoto.

Vá para https://github.com/ e crie uma conta.

Depois de se registrar na página inicial do GitHub, clique em Iniciar um Projeto para criar um novo repositório Git. Dê um nome ao repositório e clique em "Criar Repositório"

Dê o nome como git-blog-demo.

Isso criará um repositório remoto no GitHub e, quando você abrir o repositório, uma página como a imagem abaixo será aberta:

O URL do repositório é a parte destacada https://github.com/aditya-sridhar/git-blog-demo.git

Para apontar seu repositório local para o repositório remoto, use o seguinte comando:

git remote add origin [URL do repositório]

Git Push

Para enviar todo o código do repositório local para o repositório remoto, use o seguinte comando:

mestre de origem git push -u

Isso envia o código da ramificação principal no repositório local para a ramificação principal no repositório remoto.

Comandos adicionais

Git Pull

O git pull é usado para puxar as alterações mais recentes do repositório remoto para o repositório local. O código do repositório remoto é atualizado continuamente por vários desenvolvedores, portanto, o git pull é necessário:

mestre de origem do git pull

Git Clone

O git clone é usado para clonar um repositório remoto existente no seu computador. O comando para isso é:

git clone [URL do repositório]

Parabéns

Agora você sabe o básico de como usar o Git, então vá em frente e explore mais!

Em breve, publicarei mais um artigo sobre conceitos um pouco mais avançados do Git. Fique ligado!

Sobre o autor

Adoro a tecnologia e acompanho os avanços da tecnologia. Também gosto de ajudar outras pessoas com qualquer conhecimento que possuo no espaço tecnológico.

Sinta-se à vontade para se conectar comigo na minha conta LinkdIn https://www.linkedin.com/in/aditya1811/

Você também pode me seguir no twitter https://twitter.com/adityasridhar18

Meu site: https://adityasridhar.com/

Outras mensagens minhas

Como usar o Git com eficiência