Gerenciar um Repositório Git Local no Linux

CompTIABeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá os comandos fundamentais para gerenciar um repositório Git local em um ambiente Linux. Você começará inicializando um novo repositório usando git init e configurando sua identidade de usuário com git config, que são os primeiros passos essenciais para qualquer projeto que utilize Git para controle de versão.

Após a configuração inicial, você praticará o fluxo de trabalho principal do Git. Isso inclui a criação de um novo arquivo, a preparação dele para rastreamento com git add e o salvamento dele no histórico do repositório com git commit. Em seguida, você modificará o arquivo, fará o commit das alterações e aprenderá a revisar o histórico completo de commits usando o comando git log para entender a evolução do projeto.

Inicializar um Repositório Git e Configurar Definições de Usuário

Nesta etapa, você começará inicializando um novo repositório Git e configurando suas informações de usuário. Um repositório Git é um diretório onde o Git rastreia as alterações nos seus arquivos de projeto. Inicializar um repositório é o primeiro passo para usar o Git para controle de versão.

Seu diretório de trabalho atual é /home/labex/project. Usaremos este diretório para criar nosso repositório Git.

Primeiro, execute o comando git init. Este comando cria um novo repositório Git vazio no diretório atual. Ele faz isso criando um subdiretório oculto chamado .git que contém todos os arquivos necessários do repositório.

git init

Você deverá ver uma saída confirmando que um repositório vazio foi inicializado:

Initialized empty Git repository in /home/labex/project/.git/

Agora que o repositório foi criado, o próximo passo é configurar sua identidade de usuário. O Git usa essas informações para associar seu nome e endereço de e-mail a cada commit que você faz. Isso é crucial para rastrear quem fez quais alterações em um projeto colaborativo.

Usaremos o comando git config com o sinalizador --global. O sinalizador --global garante que esta configuração se aplique a todos os repositórios Git com os quais você trabalha neste sistema para o usuário labex.

Execute os seguintes comandos para definir seu nome de usuário e endereço de e-mail. Para este laboratório, usaremos labex como nome de usuário e labex@example.com como e-mail.

git config --global user.name "labex"
git config --global user.email "labex@example.com"

Esses comandos não produzem nenhuma saída se forem bem-sucedidos. Para verificar se a configuração foi definida corretamente, você pode listar todas as configurações do Git para seu usuário:

git config --list

A saída mostrará uma lista de todas as configurações, incluindo user.name e user.email que você acabou de configurar:

user.name=labex
user.email=labex@example.com
...

Você agora inicializou com sucesso um repositório Git e configurou sua identidade de usuário. Você está pronto para começar a adicionar arquivos e rastrear alterações.

Criar e Fazer Commit do Primeiro Arquivo com git add e git commit

Nesta etapa, você criará seu primeiro arquivo e fará o commit dele no repositório Git. Fazer commit é o processo de salvar um snapshot das suas alterações preparadas no histórico do repositório. Este processo envolve dois comandos principais: git add e git commit.

Primeiro, vamos criar um arquivo simples README.md. Este é um arquivo comum em projetos que fornece informações sobre o projeto. Usaremos o comando echo para criar o arquivo e adicionar algum texto a ele. Todos os comandos devem ser executados no seu diretório atual, /home/labex/project.

echo "Hello, Git" > README.md

Agora que você criou um arquivo, pode verificar o status do seu repositório usando o comando git status. Este comando mostra o estado do diretório de trabalho e da área de staging (preparação).

git status

A saída será semelhante a esta:

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
 README.md

nothing added to commit but untracked files present (use "git add" to track)

Esta saída informa que README.md é um "untracked file" (arquivo não rastreado). Isso significa que o Git vê o arquivo, mas ele ainda não faz parte do histórico de versões do repositório.

Para começar a rastrear o novo arquivo, você precisa adicioná-lo à área de staging. A área de staging é um passo intermediário onde você pode preparar um conjunto de alterações antes de fazer o commit delas. Use o comando git add para preparar o README.md.

git add README.md

Este comando não produz nenhuma saída. Para ver o que aconteceu, execute git status novamente.

git status

Agora a saída mudou:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
 new file:   README.md

O arquivo agora está listado em "Changes to be committed" (Alterações a serem commitadas), o que significa que ele está na área de staging e pronto para o próximo commit.

Finalmente, para salvar este snapshot no histórico do seu projeto, use o comando git commit. É uma boa prática incluir uma mensagem descritiva com cada commit usando o sinalizador -m. Esta mensagem explica quais alterações foram feitas.

git commit -m "Initial commit: Added README.md"

Após executar o comando, você verá uma mensagem de confirmação resumindo o commit:

[master (root-commit) <commit_hash>] Initial commit: Added README.md
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

Você fez seu primeiro commit com sucesso! O arquivo README.md agora faz parte oficialmente do histórico do seu repositório Git.

Modificar um Arquivo e Fazer Commit das Alterações

Nesta etapa, você aprenderá como rastrear modificações em um arquivo existente. Uma característica fundamental do controle de versão é a capacidade de ver como os arquivos evoluem ao longo do tempo. Isso é feito fazendo commits das alterações cada vez que um arquivo é atualizado.

Continuaremos trabalhando com o arquivo README.md no diretório /home/labex/project. Vamos adicionar uma nova linha de texto a ele. Usaremos o comando echo novamente, mas desta vez com o operador >>, que anexa conteúdo a um arquivo em vez de sobrescrevê-lo.

echo "This is a new line." >> README.md

Agora que o arquivo foi modificado, vamos verificar o status do repositório com git status.

git status

O Git relatará que o arquivo README.md foi modificado:

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
 modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

A saída mostra modified: README.md sob "Changes not staged for commit" (Alterações não preparadas para commit). Isso significa que o Git detectou a alteração, mas ela ainda não foi adicionada à área de staging para o próximo commit.

Assim como com um novo arquivo, você deve usar git add para preparar as modificações. Isso informa ao Git que você deseja incluir essas alterações específicas no seu próximo commit.

git add README.md

Novamente, este comando não produz nenhuma saída. Vamos executar git status mais uma vez para confirmar que a alteração foi preparada.

git status

A saída agora mostra o arquivo sob "Changes to be committed" (Alterações a serem commitadas):

On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
 modified:   README.md

Agora que as alterações estão preparadas, você pode fazer o commit delas no histórico do repositório. Use git commit com uma mensagem clara descrevendo a atualização.

git commit -m "Added a new line to README.md"

Você verá uma mensagem de confirmação para o commit:

[master <commit_hash>] Added a new line to README.md
 1 file changed, 1 insertion(+)

Você agora modificou com sucesso um arquivo e fez o commit das alterações. Este fluxo de trabalho — modificar, preparar e fazer commit — é o ciclo fundamental que você usará repetidamente ao trabalhar com o Git.

Revisar o Histórico de Commits com git log

Nesta etapa final, você aprenderá como revisar o histórico de commits do seu repositório. O comando git log é uma ferramenta poderosa que permite ver uma lista cronológica de todos os commits que foram feitos. Isso é essencial para entender como um projeto evoluiu.

A partir do seu diretório /home/labex/project, execute o comando git log:

git log

Este comando exibirá uma lista detalhada dos commits que você fez, com o commit mais recente aparecendo primeiro. A saída será semelhante a esta:

commit <commit_hash_2> (HEAD -> master)
Author: labex <labex@example.com>
Date:   <commit_date_2>

    Added a new line to README.md

commit <commit_hash_1>
Author: labex <labex@example.com>
Date:   <commit_date_1>

    Initial commit: Added README.md

Vamos detalhar as informações de cada commit:

  • commit: Um hash SHA-1 único de 40 caracteres que serve como identificador para o commit.
  • Author: O nome e o e-mail da pessoa que fez o commit, com base na sua configuração do Git.
  • Date: O timestamp indicando quando o commit foi feito.
  • Commit Message: O texto indentado é a mensagem que você forneceu com o sinalizador -m, explicando o propósito do commit.

O log é exibido em um programa paginador (como less). Você pode rolar para cima e para baixo usando as teclas de seta. Para sair da visualização do log e retornar ao prompt do seu terminal, basta pressionar a tecla q.

Para uma visualização mais compacta do histórico de commits, você pode usar o sinalizador --oneline. Isso é útil para obter uma visão geral rápida.

git log --oneline

A saída será muito mais curta, mostrando apenas o hash do commit e a mensagem do commit em uma única linha para cada commit:

<short_hash_2> (HEAD -> master) Added a new line to README.md
<short_hash_1> Initial commit: Added README.md

Parabéns! Você agora aprendeu o fluxo de trabalho básico de inicializar um repositório Git, adicionar e fazer commits de arquivos, e revisar o histórico do projeto.

Resumo

Neste laboratório, você aprendeu os passos fundamentais para gerenciar um repositório Git local em um ambiente Linux. Você começou inicializando um novo repositório em um diretório de projeto usando o comando git init. Após a inicialização, você configurou configurações essenciais do usuário, especificamente seu nome de usuário e e-mail, com o comando git config --global para garantir que todos os commits futuros sejam devidamente atribuídos. O fluxo de trabalho principal do controle de versão foi então praticado criando um novo arquivo, preparando-o para o próximo commit com git add, e então registrando permanentemente as alterações no histórico do repositório usando git commit.

Além disso, você praticou o processo iterativo de fazer e rastrear alterações. Isso envolveu modificar um arquivo existente e, em seguida, repetir o ciclo de staging e commit com git add e git commit para salvar a nova versão. Finalmente, você aprendeu como revisar o histórico do projeto usando o comando git log, que exibe uma lista cronológica de todos os commits, incluindo seus identificadores únicos, autores, datas e mensagens de commit. Isso forneceu uma visão clara das alterações feitas no repositório ao longo do tempo.