Inicializando um repositório local

GitBeginner
Pratique Agora

Introdução

Neste laboratório, você dará os primeiros passos no controle de versão com o Git. Você aprenderá a transformar um diretório comum em um repositório Git, permitindo acompanhar as alterações nos arquivos ao longo do tempo.

Este é o momento em que uma pasta comum se torna um projeto versionado. O Git faz isso criando um diretório oculto .git, que armazena o histórico, os metadados e as referências.

Esse diretório oculto é o banco de dados interno do repositório. Os arquivos visíveis são o conteúdo do seu projeto, enquanto .git contém os mecanismos que o Git usa para lembrar as versões e as relações entre os commits.

O processo envolve três etapas principais:

  • Inicialização: configurar o repositório.
  • Preparação: preparar os arquivos para serem salvos.
  • Commit: salvar um instantâneo dos arquivos no histórico do repositório.

Ao final deste laboratório, você terá um repositório Git local com seu primeiro arquivo commitado.

Criar o diretório de projeto project_x

Nesta etapa, você criará um novo diretório para armazenar os arquivos do projeto. No Git, um repositório normalmente fica dentro de um único diretório.

Primeiro, abra o terminal. Você está atualmente no diretório /home/labex/project. Criaremos um novo diretório chamado project_x usando o comando mkdir.

Execute o comando a seguir:

mkdir project_x

Agora, entre nesse novo diretório usando o comando cd:

cd project_x

É importante estar dentro do diretório em que você deseja inicializar o Git. Verifique sua localização atual usando o comando pwd:

pwd

A saída deverá ser /home/labex/project/project_x.

Inicializar o Git dentro dele usando git init

Nesta etapa, você transformará o diretório comum em um repositório Git. Esse processo é chamado de “inicialização”.

Execute o comando a seguir dentro do diretório project_x:

git init

Você deverá ver uma saída semelhante a esta:

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

Esse comando cria um subdiretório oculto chamado .git. Esse diretório oculto contém todos os metadados e o banco de dados de objetos necessários para que o Git acompanhe o projeto. Você não precisa modificar nada dentro de .git, mas é importante saber que ele existe.

Portanto, git init não faz upload de nada nem cria o histórico por conta própria. Ele apenas prepara o diretório para que o Git possa começar a acompanhar os próximos instantâneos localmente.

Você pode verificar se o diretório existe listando todos os arquivos, inclusive os ocultos:

ls -a

Você deverá ver .git na lista.

Criar o arquivo readme.txt

Nesta etapa, você criará um arquivo para acompanhar. Um repositório vazio não é muito útil, então vamos adicionar algum conteúdo.

Criaremos um arquivo de texto simples chamado readme.txt. Você pode usar o comando echo para criar o arquivo e adicionar texto a ele ao mesmo tempo.

Execute o comando a seguir:

echo "This is my first git project" > readme.txt

Esse comando cria readme.txt com o conteúdo "This is my first git project".

Verifique se o arquivo foi criado:

ls

Você deverá ver readme.txt na lista.

Verificar o status do repositório usando git status

Nesta etapa, você verificará o estado do repositório. O Git não acompanha automaticamente todos os arquivos que você cria; é preciso informá-lo sobre isso.

O comando git status é um dos comandos mais úteis do Git. Ele informa quais arquivos são acompanhados, quais foram modificados e quais estão na área de preparação para o commit.

Execute o comando:

git status

Você deverá ver uma saída semelhante a esta:

On branch master

No commits yet

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

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

Observe que readme.txt aparece em Untracked files. Isso significa que o Git detecta o arquivo, mas ainda não acompanha as alterações feitas nele.

Essa situação apresenta uma distinção importante do Git: um arquivo pode existir no diretório de trabalho sem ainda fazer parte do controle de versão. O Git sabe que o arquivo existe, mas ele ainda não foi incluído no histórico do repositório.

Adicionar o arquivo à área de cache (preparação) usando git add

Nesta etapa, você moverá o arquivo para a “área de preparação” (também conhecida como índice). A área de preparação é o local em que você prepara um instantâneo de um conjunto de alterações antes de fazer o commit no histórico oficial.

A área de preparação é um dos conceitos mais importantes do Git. Ela fica entre o diretório de trabalho e o histórico do repositório, permitindo que você decida exatamente quais alterações farão parte do próximo commit.

Para começar a acompanhar readme.txt e adicioná-lo à área de preparação, use o comando git add:

git add readme.txt

Agora, verifique o status novamente para ver o que aconteceu:

git status

A saída deverá ser semelhante a esta:

On branch master

No commits yet

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

Observe que readme.txt agora aparece em Changes to be committed. Isso significa que ele está na área de preparação e pronto para receber um commit.

Por isso, o Git costuma ser descrito como um fluxo de trabalho de três estados: arquivos na árvore de trabalho, alterações na área de preparação e instantâneos no histórico de commits.

Fazer commit do arquivo usando git commit -m

Nesta etapa, você salvará permanentemente no histórico do repositório as alterações que estão atualmente na área de preparação. Essa ação é chamada de “commit”.

Um commit salva um instantâneo do projeto e exige uma mensagem que descreva o que foi alterado. Usamos a opção -m para fornecer essa mensagem diretamente na linha de comando.

Execute o comando a seguir para fazer o commit das alterações:

git commit -m "Initial commit"

Você deverá ver uma saída confirmando o commit:

[master (root-commit) 1a2b3c4] Initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

Agora, verifique o status uma última vez:

git status

A saída deverá informar:

On branch master
nothing to commit, working tree clean

Isso indica que o diretório de trabalho corresponde ao commit mais recente do repositório. Você salvou sua primeira versão com sucesso!

Resumo

Neste laboratório, você inicializou com sucesso um repositório Git local. Você aprendeu a:

  1. Criar um diretório de projeto.
  2. Inicializar o Git usando git init.
  3. Criar um novo arquivo.
  4. Verificar o status do repositório com git status.
  5. Adicionar um arquivo à área de preparação usando git add.
  6. Fazer commit do arquivo no histórico do repositório usando git commit.

Esses são os comandos fundamentais que você usará diariamente ao trabalhar com o Git. Agora você pode acompanhar alterações, salvar versões e gerenciar o histórico do seu projeto.