O Guia do Iniciante para Git

Imagem em Destaque do Guia Git

Git é um programa maravilhoso. É uma ferramenta de controle de versão que permite gerenciar de forma contínua o histórico de edições de um arquivo. Embora isso possa parecer simples e sem graça, a força do Git reside no fato de que você pode estender esse histórico para grupos inteiros de arquivos e diretórios.

Isso significa que é possível usar o Git para rastrear cada alteração em cada arquivo para cada diretório. Isso é extremamente útil se você estiver fazendo um projeto onde deseja ter uma visão geral de tudo o que está fazendo.

Índice

  • O que é Git?
  • Instalando o Git
  • Usando o Git para um Projeto Local
  • Usando o Git para Projetos Online
  • Perguntas Frequentes

Leia também: Como Determinar se um Site é Legítimo e Seguro para Usar

O que é Git?

Em sua essência, o Git é um programa simples de rastreamento de histórico. Nele, ele rastreia as alterações entre diferentes versões de um arquivo. A forma como funciona é que sempre que você altera um arquivo, o Git cria um hash para essa versão específica do arquivo.

A partir daí, ele compara e analisa esses hashes em relação à “árvore Git” do repositório. Fazendo isso, o Git armazena apenas a diferença entre várias versões de arquivos.

Árvore Git do Guia Git

Por exemplo, se você estiver escrevendo um script sob o Git e fizer algumas alterações nele. O Git armazenará apenas o hash das duas primeiras alterações e fará o hash do arquivo atual em relação às duas primeiras. Dessa forma, o Git pode reconstruir as versões mais antigas sem armazenar várias cópias do mesmo arquivo.

Informações de Diferença do Guia Git

Essa abordagem também permite que você escale facilmente seus arquivos e diretórios para um projeto maior. Como o Git armazena todos os dados históricos como hashes, ele só precisa operar em sua máquina local. Assim, você pode facilmente exportar seu trabalho para outras pessoas e importar suas contribuições sem a necessidade de software de gerenciamento externo.

Instalando o Git

O Git é um pacote muito comum em sistemas operacionais baseados em Linux. Por causa disso, instalá-lo é incrivelmente fácil. Na maioria dos casos, ele já vem pré-instalado em seu sistema. Se você estiver usando Debian ou Ubuntu, pode usar o apt para instalar o Git:

sudo apt install git

Instalando o Git do Guia Git

Para Fedora ou RHEL, use dnf:

sudo dnf install git-all

Enquanto isso, se você estiver usando Arch Linux, também pode instalar o Git usando pacman:

sudo pacman -S git

Usando o Git para um Projeto Local

Usar o Git em sua máquina local é muito simples. A primeira coisa que você precisa fazer é criar um novo repositório Git. Seu principal objetivo é servir como um contêiner para todos os objetos Git que você adicionará para este projeto.

Na pasta que você deseja rastrear, execute os seguintes comandos:

cd meu-projeto  
git init

Git Init do Guia Git

Uma vez feito isso, o Git criará uma pasta “.git” na raiz do seu diretório de projeto. Isso servirá tanto como um marcador para o programa Git quanto como uma pasta de armazenamento para todos os objetos Git desse projeto.

Adicionando Arquivos Existentes ao seu Repositório

Com um repositório Git funcionando, a próxima coisa a fazer é importar quaisquer arquivos existentes para o Git. Isso ocorre porque o Git não rastreia nenhum arquivo quando você cria um novo repositório pela primeira vez.

Para fazer isso, você pode executar o seguinte comando no diretório raiz da sua pasta:

git add .

Este comando dirá ao Git para incluir todos os arquivos e pastas no diretório atual. Você pode então confirmar isso executando o seguinte comando:

git diff --cached

Novo Git Ls do Guia Git

Leia também: Como Limpar o Cache do Git

Comitando seu Primeiro Repositório

Com seus arquivos agora no repositório, a próxima coisa que você precisa fazer é gravar essas alterações no sistema de arquivos do Git. Isso garante que ele irá marcar e hash corretamente todos os novos arquivos na sua pasta. Para fazer isso, você precisará “comitar” o estado atual do repositório.

Para fazer isso, você pode executar o seguinte comando:

git commit -a

Isso dirá ao Git para gravar tudo o que está armazenando em seu cache no sistema de arquivos virtual.

A partir daí, o Git pedirá uma descrição sobre este commit específico. Isso permitirá que você forneça uma breve explicação sobre o que ele contém, bem como uma maneira de distinguir facilmente este commit de outros. No meu caso, como este é meu primeiro commit, vou apenas escrever “Commit Inicial”.

Primeiro Commit do Guia Git

Com isso, você pode agora verificar se o Git reconhece todos os arquivos em seu diretório executando o seguinte comando:

git ls-files

Novo Git Ls do Guia Git

Se durante o acima, o Git lançar um erro dizendo que não consegue reconhecê-lo, você terá que dizer quem você é. Fazer isso é tão simples quanto digitar:

git config --global user.name "Seu_Nome_Usuário"  
git config --global user.email "[email protected]"

Operações Básicas de Arquivo no Git

Na maior parte, os comandos UNIX funcionarão com o Git. Isso significa que você pode usar ls, cp, mv e rm em todos os arquivos e pastas dentro de um repositório Git. No entanto, existem vários comandos específicos que você pode usar para manipular facilmente objetos Git.

Por exemplo, você pode usar o subcomando ls-tree para visualizar o conteúdo de uma árvore Git específica, bem como o valor hash atual de cada arquivo.

git ls-tree master

Novo Ls Tree Master do Guia Git

Outro comando que você pode usar é a versão Git de mv. Isso permite que você mova arquivos para qualquer lugar dentro do repositório e ainda mantenha seu histórico.

git mv ./hello.file ./welcome.file

Isso pode ser útil se você quiser renomear um arquivo no controle de versão, mas também deseja ter a capacidade de reverter essa alteração através do Git.

Sabendo disso, você pode executar o seguinte comando para renomear um arquivo sem perder seu histórico.

Git Mv do Guia Git

Por fim, o Git também fornece um subcomando para remover objetos. Semelhante ao mv, você pode usar uma versão Git de rm para remover um arquivo em seu repositório atual. Fazer isso dessa forma permite que você remova o objeto atual para aquele arquivo específico.

git rm ./old.file

Git Rm do Guia Git

Clonando um Repositório Remoto

Também é possível importar um repositório remoto para sua máquina local. Isso é útil quando você precisa copiar um projeto diferente pela rede. O Git oferece a capacidade de clonar um repositório já existente.

A forma como a clonagem funciona é que o Git copia completamente a árvore de um projeto remoto. Isso permite recriar todo o histórico de um repositório como ele existe naquele momento específico no tempo.

git clone https://github.com/git/git.git

Clonando Repo do Guia Git

Também é possível clonar repositórios que existem apenas em uma rede local. Isso é útil se você estiver colaborando com outras pessoas pela LAN. Além disso, o processo de clonagem de um projeto em uma rede local é exatamente o mesmo:

git clone 192.168.1.100:/home/bob/awesome-project

Leia também: Como Usar Alias do Git para Tornar o Git Mais Eficiente

Usando o Git para Projetos Online

Com isso, outra forma de colaborar com outras pessoas é através de hospedagem de terceiros. Nisso, você está usando um serviço remoto como o Github para hospedar seu projeto na internet. Isso pode ser extremamente útil se você precisar de uma maneira rápida e fácil de distribuir seu trabalho para um grande público.

Site do Github do Guia Git

Não só isso, um serviço como o Github também simplifica o processo de criação e manutenção de um repositório. Assim, é um serviço poderoso se você pretende fazer projetos colaborativos com outras pessoas em redes remotas.

Criando seu Primeiro Repositório Online

Sabendo disso, iniciar um repositório através do Github é incrivelmente fácil. Assim que você estiver logado em sua conta, o site irá redirecioná-lo para sua página inicial pessoal.

Esta página exibirá as últimas atualizações sobre os projetos que você está seguindo atualmente. Isso inclui um breve histórico de todas as suas contribuições para outros projetos.

Página Inicial do Github do Guia Git

A partir daqui, você precisa clicar no sinal de “+” ao lado da sua foto de perfil. Isso abrirá um pequeno menu suspenso onde você pode escolher uma série de ações para sua conta. Você precisa, então, clicar no link “Novo Repositório” nesse menu.

Novo Repo do Github do Guia Git

É aqui que você pode especificar os detalhes para o projeto que deseja fazer online. A partir daí, você precisa definir uma série de opções para ajustar seu projeto.

Página do Novo Repo do Guia Git

Primeiro, você precisa fornecer um nome de repositório para seu projeto. Isso servirá como um nome onde outras pessoas podem procurar ao procurar seu repositório.

Em seguida, você precisa definir as configurações de privacidade para seu projeto. Você pode escolher entre Público e Privado. Um repositório público permite que outras pessoas pesquisem seu projeto online, enquanto um privado permite que você compartilhe apenas com algumas pessoas.

Por fim, você precisa clicar no botão “Criar Repositório” para finalizar seu novo projeto.

Leia também: Como Excluir um Branch Git Local e Remoto

Vinculando o Github à sua Máquina Local

Com isso, a próxima coisa que você precisa fazer é vincular sua máquina local à sua conta do Github. Para fazer isso, você precisa fazer duas coisas:

  • Primeiro, você precisa criar uma chave SSH para sua máquina. Esta é uma chave criptográfica curta que você pode gerar localmente em seu computador.
  • Por fim, você precisa informar ao Github sua chave SSH atual. Isso permite que sua máquina tenha uma identidade fixa para o Github. Por sua vez, ele usa essa identidade para verificar você sempre que você atualizar seu repositório.

Criando sua Chave SSH

Se você estiver usando Debian ou Ubuntu, pode instalar o SSH usando apt:

sudo apt install ssh

Instalando Ssh do Guia Git

A partir daí, você pode executar o programa ssh-keygen para criar a chave ssh:

ssh-keygen -t ed25519 -C "[email protected]"  
ssh-add /home/$USER/.ssh/id_ed25519

Vinculando sua Chave SSH

Volte ao seu Painel do Github, clique na sua Foto de Perfil e depois em Configurações.

Configurações da Conta do Github do Guia Git

Isso abrirá as configurações gerais da sua conta do Github. A partir daqui, você precisa clicar no link “Chaves SSH e GPG” na seção “Acesso” na barra lateral esquerda da página.

Chave SSH da Conta do Github do Guia Git

Clique no botão “Nova Chave SSH” ao lado do cabeçalho “Chaves SSH”. Isso carregará a página de configuração da chave onde você pode copiar o conteúdo de sua nova chave SSH.

Nova Página de Chave SSH do Guia Git

Abra seu arquivo de chave (neste caso, o arquivo de chave id_ed25519.pub no diretório “~/.ssh”) em um editor de texto. Copie o conteúdo e cole no Github.

Enviando Commits Locais Online

A última etapa é você fazer o upload do conteúdo do seu projeto local online.

Na sua máquina local, vá até a pasta Git e execute o comando:

git remote add origin [email protected]:ramcesred/meu-projeto.git

Adicionar Novo Origem Remota do Guia Git

A partir daqui, você precisa garantir que seu projeto local esteja atualmente em seu branch master. Isso é para que o Git copie a versão correta do seu projeto. Com isso, você pode garantir executando o seguinte comando:

git branch -M main

Por fim, envie o estado atual do projeto online:

git push -u origin main

Enviar Repositório Local Online do Guia Git

Parabéns! Você agora tem uma configuração básica de trabalho para projetos Git. Não só isso, você também tem uma ideia básica de como o Git funciona e como você pode fazê-lo funcionar para você.

Leia também: Como Instalar o Git e o Git Bash no Windows

Perguntas Frequentes

É possível obter as alterações que outras pessoas fizeram no meu projeto Git online?

Sim! É possível copiar as alterações que outras pessoas fizeram em seu repositório online. Você pode fazer isso puxando do seu origem remota.

Você pode facilmente puxar quaisquer atualizações executando o seguinte comando: git pull origin main

Quais são alguns dos problemas que devo ficar atento ao usar o Git?

Um dos maiores problemas de usar o Git é que ele ocupa muito espaço ao armazenar arquivos binários. Isso inclui qualquer arquivo que não esteja codificado em texto simples, como imagens, formatos de documentos de escritório e programas compilados.

Isso se deve principalmente ao fato de que os algoritmos de compressão e hashing que o Git usa para armazenar objetos favorecem fortemente arquivos de texto simples. É possível incluir binários sob controle de versão, no entanto, é uma boa prática evitar usá-los com o Git.

É possível não incluir arquivos em uma árvore Git?

Sim! Você pode facilmente excluir arquivos de um commit. Você pode usar um arquivo “.gitignore” para informar ao Git que não deseja incluir certos arquivos.

Este é um arquivo de texto oculto que você cria na pasta raiz do seu repositório. Nele, você inclui os caminhos relativos de arquivos e diretórios que deseja que o Git ignore.

Crédito da imagem: Unsplash