Principais Conceitos

Antes de colocarmos a "mão na massa" é muito importante que você conheça alguns dos principais conceitos que utilizamos no Git, assim você já vai se ambientando e compreendendo os próximos passos!

Repositório

É a maior unidade de armazenamento, um local de que contém todos os seus códigos, arquivos e o histórico da revisão de cada arquivo - como se fosse uma grande pasta com todos esses arquivos e metadados. Ele pode ser conhecido também como repo, e ser local (no seu computador) ou remoto (em um servidor, como o GitHub).

Seu uso pode ser individual ou compartilhado com vários outros colaboradores, além de ter a possibilidade de ser privado (empresas, projetos pessoais...) ou público (uma das principais características de qualquer projeto que seja Open Source). Mas não se engane: mesmo quando a visualização do código é aberta ao público, para acessar o repositório principal você precisa ter uma permissão para poder fazer alterações nele, mas falaremos disso mais à frente!

Branch

🇧🇷Galho, ramificação

Uma das grandes vantagens de utilizar esse tipo de sistema é a criação das branches, que são - como o próprio nome já explica - "ramificações" do código original. Sempre que você cria um novo repositório, uma Branch Principal é criada, e por padrão, o Git dá à essa branch o nome de main (você ainda pode encontrar algumas com o nome master). A branch main - em seu período inicial - contém todas as informações do repositório atual, com os mesmos arquivos e códigos.

Mas as branches não param por aí, pois a maior função delas é serem linhas independentes de desenvolvimento em um repositório, assim podem conter versões paralelas do código sem afetar a branch principal (main). Além disso, as branches ajudam a organizar e gerenciar o fluxo de trabalho de uma equipe de desenvolvimento. Aqui estão algumas das funções mais comuns quando o assunto é branch:

  • Desenvolvimento Paralelo: As branches permitem que diferentes desenvolvedores trabalhem em diferentes funcionalidades ou correções simultaneamente, sem interferir no trabalho um do outro. Cada desenvolvedor pode ter sua própria branch para implementar e testar suas alterações.

  • Isolamento de Funcionalidades ou Correções: Cada branch representa uma unidade de trabalho isolada. Isso significa que as mudanças feitas em uma branch não afetam diretamente o código em outras branches até que essas mudanças sejam mescladas de volta à branch principal.

  • Testes e Experimentações: As branches também podem ser usadas para testar novas funcionalidades ou experimentações sem comprometer o código da branch principal. Se uma experimentação não der certo, ela pode ser descartada sem afetar o código principal.

  • Gerenciamento de Versões: As branches também podem ser usadas para gerenciar diferentes versões de um projeto. Por exemplo, uma branch pode ser usada para manter a versão atual do software enquanto outra branch é usada para desenvolver uma versão futura.

Merge

🇧🇷 Fundir, misturar, mesclar

Se os códigos antes foram isolados, agora é hora de juntar! O merge permite integrar as alterações feitas em uma branch de desenvolvimento de volta à branch principal (master ou main). Isso garante que as novas funcionalidades, correções ou melhorias feitas em branches secundárias estejam disponíveis na branch principal do projeto.

Fork

🇧🇷 Bifurcação, encruzilhada

O fork em um sistema de controle de versão, como o Git, é utilizado para permitir que um usuário faça uma cópia independente de um repositório existente. Ele copia os arquivos originais e cria um repositório idêntico, na conta de outro usuário. Suas principais funções são:

  1. Desenvolvimento Independente: Um fork permite que um usuário crie uma cópia separada de um repositório existente. Isso permite que o usuário desenvolva funcionalidades, faça correções ou experimente alterações sem afetar diretamente o repositório original. Essa independência é útil, especialmente em projetos de código aberto, onde diferentes colaboradores podem ter diferentes visões ou abordagens para o projeto.

  1. Contribuição para Projetos de Código Aberto: Em projetos de código aberto hospedados em plataformas como o GitHub, os forks são frequentemente usados para permitir que os colaboradores que ainda não possuem acesso à efetuar alterações no projeto principal. Um colaborador faz um fork do repositório original, faz as alterações desejadas em sua própria cópia do repositório e, em seguida, envia uma solicitação para que suas alterações sejam revisadas e, potencialmente, mescladas de volta ao repositório original.

Commit

🇧🇷 Comprometer, registrar

Um commit é uma "foto" do estado atual do repositório. Ele registra quais mudanças foram feitas, por quem e quando. Sendo uma parte fundamental do fluxo de trabalho do Git, permite o registro, acompanhamento e reversão de alterações no código-fonte de um projeto. Os commits são a base para o versionamento de código e colaboração eficaz entre desenvolvedores.

Last updated