Git do básico ao avançado: as principais funções que todo desenvolvedor .Net deve saber

Conheça todo o potencial que o sistema de controle de versionamento de código mais popular tem a te oferecer: saiba as principais funções de Git para devs .NET

23 de Agosto de 2021 por Stefanini

O Git é o sistema de controle de versionamento de código distribuído mais popular e amplamente usado. Esse sucesso vem da simplicidade e da inovação que essa criação de Linus Torvalds traz. A ferramenta nasceu em 2005 para auxiliar no desenvolvimento do Kernel Linux e chegou para revolucionar o armazenamento do desenvolvimento de projetos, permitindo o registro da evolução do código em um único arquivo.

 

Essa ferramenta possui um repositório central para o armazenamento dos códigos, que possibilita o registro histórico do que e quando algo foi alterado, além de identificar o autor de cada mudança. Para entendermos ainda mais sobre o Git, seus benefícios e conhecer as funções essenciais para qualquer dev .NET, trouxemos o Rudolf Arthur Frans Gutlich, Arquiteto de Sistemas aqui na Stefanini.

E ele já traz uma dica importante: “não devemos confundir Git com GitHub. O GitHub (assim como BitBucket, Azure e outros) é um servidor que utiliza o Git para gerenciar repositórios de seus clientes. Inclusive, não precisamos de um repositório remoto para utilizar o git, podemos utilizar localmente para que se tenha acesso às facilidades fornecidas pelo Git, como histórico, ramificações e muitas outras.”

Agora vamos falar de Git!

Como essa ferramenta facilita o trabalho de pessoas desenvolvedoras?

Rudolf explica que a estrutura dessa ferramenta se baseia em trilhas de código (branches), sendo uma principal (normalmente chamada de master ou main) e as outras sendo ramificações da mesma, sendo que as últimas podem ter suas nomenclaturas padronizada ou criadas de acordo com a livre conveniência do desenvolvedor. E é essa estrutura que torna o Git tão especial.

 

Isso porque ele te dá a possibilidade de retornar à versão antiga de um projeto ao invés de buscar por uma determinada versão anterior do arquivo ou até reconstruir o código do zero, facilitando a correção de bugs e erros. Essa funcionalidade é simplesmente essencial para projetos em equipe, como explica o nosso Arquiteto de Sistemas:

“O Git permite que várias pessoas trabalhem no mesmo código simultaneamente. Sempre que alguém for enviar algo para o servidor, é necessário antes verificar se ninguém mais enviou alterações. Caso já existam alterações no servidor, é necessário trazê-las para a máquina local, efetuar a mesclagem ("merge") e depois enviar o código atualizado.”

Ele ainda completa, “Assim, cada desenvolvedor pode trabalhar isoladamente em uma funcionalidade, em sua própria máquina, para depois atualizar o repositório central com o que foi desenvolvido.” Neste caso, existem duas possibilidades: criar a branch localmente e depois enviá-la ao servidor ou trazer o conteúdo de uma branch já existente no servidor para trabalhar localmente, para então devolver a mesma atualizada.

E quais são as funções mais importantes do Git para desenvolvedores .NET?

Esse sistema de versionamento de código é muito bom, porém ele tem muitos comandos. Mesmo que você não seja um especialista em Git, é importante conhecer bem as principais funções para não perder funcionalidades. Confira as principais indicações do Rudolf:

Função: init

Ação: Inicializa um repositório local, criando uma pasta oculta (".git") e criando a estrutura de gerenciamento local

Função: clone

Ação: Copia o conteúdo de um repositório remoto para a máquina local. Sempre será copiada a branch principal

Função: branch

Ação: Cria uma nova branch local

Função: checkout

Ação: Caso a branch já exista localmente, simplesmente alterna para a mesma. Se não existir localmente, poderá ser trazida do servidor remoto antes. É possível também usar este comando para criar uma branch antes de alternar para a mesma, além de descartar alterações efetuadas

Função: fetch

Ação: Obtém do servidor as atualizações que foram enviadas ao servidor por outros usuários. Nesta lista estão todas as branches e commits que foram efetuados

Função: pull

Ação: Atualiza o branch atual com as alterações efetuadas no servidor remoto, caso existam

Função: status

Ação: Mostra o branch atual, além de listar os arquivos alterados (não versionados e versionados)

Função: add

Ação: Adiciona as novas alterações ao versionamento local ("stage")

Função: commit

Ação: Agrupa as últimas alterações adicionadas, para então permitir enviá-las ao servidor remoto

Função: merge

Ação: Mescla o conteúdo de uma branch com outra

Função: push

Ação: Envia todos os commits criados para o servidor remoto

 

O que mais preciso saber sobre Git?

Para ajudar você nessa missão de utilizar todo o potencial dessa ferramenta, o nosso Arquiteto de Sistemas ainda deixa quatro grandes dicas sobre Git:

  • Assim que inicializar o repositório, criar um arquivo texto com o nome .gitignore. “Com ele, evitamos enviar ao repositório arquivos desnecessários (como módulos externos, arquivos compilados, arquivos executáveis, dados sensíveis etc). No link a seguir existem vários exemplos de .gitignore preparados para linguagens específicas: https://github.com/github/gitignore”;
  • Garantir que as suas alterações não "quebrem" o código de outras pessoas. “Uma forma de garantir isso é usar uma estratégia de testes (TDD), que garante que a aplicação continue com as funcionalidades intactas”;
  • Criar Pull Requests (PRs), também chamados de Merge Requests (MRs), onde outras pessoas analisam as alterações enviadas antes de mesclar a branch utilizada na principal. “Isso ajuda a garantir a qualidade do código, além de diminuir a chance de problemas de código parar de funcionar”;
  • “Sempre criar commits pequenos, separados por tarefas, para facilitar o merge e também a localização de commits específicos”.

 

Você também deseja trabalhar com .NET na Stefanini? Faça parte da nossa base de talentos e receba conteúdos sobre desenvolvimento profissional e alerta de vagas. 

Compartilhe:
Veja mais sobre git

Vamos cocriar, solicite uma proposta dos nossos especialistas

Veja outros serviços capazes de complementar esta solução

testetetetete

testete

tatetadata

teste

tstete

aaaaaaaaaaaaaaaaa

Veja outros serviços capazes de complementar esta solução

Experience

Experience

testetetetete

Cyber Security

Cyber Security

testete

Machine Intelligence

Machine Intelligence

tatetadata

Enterprise Hosting

Enterprise Hosting

teste

Consulting

Consulting

tstete

IT Strategy

IT Strategy

aaaaaaaaaaaaaaaaa