📦 Capítulo 03: Inicializando um Repositório e Configuração Inicial (git init, git config)

🎯 Objetivos da Aula

Ao final desta aula, você será capaz de:

  1. Configurar sua identidade de autor (user.name e user.email) no Git.
  2. Transformar qualquer pasta comum em um repositório Git rastreável através do git init.
  3. Compreender a função da pasta oculta .git e como o Git armazena o histórico do projeto.
  4. Inspecionar o estado atual do repositório utilizando o comando git status.

🧠 1. Configuração Global de Identidade (git config)

Antes de registrar seu primeiro salvamento (commit), o Git exige que você defina a identidade do autor das alterações. Esses dados ficam gravados em cada commit realizado.

flowchart TD
    A[💻 Instalação do Git no Sistema] --> B["git config --global user.name 'Seu Nome'"]
    B --> C["git config --global user.email 'seu@email.com'"]
    C --> D["git config --global init.defaultBranch main"]
    D --> E[✅ Git Pronto para Inicializar Repositórios]

Comandos de Configuração no Terminal:

# Configura o nome do autor para todos os projetos da máquina
$ git config --global user.name "Seu Nome Profissional"
 
# Configura o e-mail do autor (deve ser o mesmo cadastrado no GitHub)
$ git config --global user.email "seu.email@dominio.com"
 
# Define 'main' como nome padrão para novas ramificações
$ git config --global init.defaultBranch main
 
# Listar todas as configurações ativas
$ git config --list

📦 2. Inicializando o Repositório (git init)

O comando git init avisa ao Git para começar a monitorar a pasta atual. Ele cria automaticamente um diretório oculto chamado .git.

# Criar uma pasta para o projeto
$ mkdir sistema_alunos_v2
$ cd sistema_alunos_v2
 
# Inicializar o repositório Git
$ git init
Initialized empty Git repository in /home/dev/projetos/sistema_alunos_v2/.git/

O que existe dentro da pasta .git?

  • HEAD: Ponteiro indicando em qual ramificação (branch) você está posicionado.
  • config: Configurações locais exclusivas deste repositório.
  • objects/: Banco de dados interno onde todos os arquivos e commits são salvos em formato comprimido.

💻 3. Prática Guiada: Inspecionando o Estado (git status)

O comando git status é a bússola do desenvolvedor. Ele indica se há arquivos alterados, novos arquivos não rastreados ou commits pendentes.

# Inspecionar o estado inicial do repositório
$ git status
On branch main
 
No commits yet
 
nothing to commit (create/copy files and use "git add" to track)

⚔️ 4. Desafios Práticos (Exercícios 30/50/20)

🥉 Nível Bronze (Fixação)

  1. Para que serve o comando git config --global user.name?
  2. O que acontece com o histórico de commits do projeto se você apagar a pasta oculta .git do seu diretório?

🥈 Nível Prata (Aplicação)

  1. Escreva a sequência de comandos de terminal necessária para: a) Configurar seu e-mail global no Git.
    b) Criar uma pasta chamada meu_primeiro_repo.
    c) Entrar na pasta e inicializar o Git.
    d) Exibir o status do repositório recém-criado.

🥇 Nível Ouro (Desafio)

  1. Inicialize o repositório Git dentro da pasta do projeto C desenvolvido na Fase 01, crie o arquivo .gitignore omitindo os binários executáveis (*.exe, *.out, *.o) e verifique o git status.

💡 Gabaritos Sanfonados de Resposta

💡 Ver Gabarito do Nível Bronze
  1. Configura o nome do autor que será gravado nos metadados de todos os commits futuros na máquina.
  2. Todo o histórico de versões, commits, branches e tags será permanentemente apagado, e a pasta voltará a ser um diretório comum do sistema operacional sem rastreamento.
💡 Ver Gabarito do Nível Prata (Sequência de Comandos)
$ git config --global user.email "dev@empresa.com"
$ mkdir meu_primeiro_repo
$ cd meu_primeiro_repo
$ git init
$ git status

📚 Referências Teóricas Oficiais

  • CHACON, Scott; STRAUB, Ben. Pro Git. 2ª Edição. Apress, 2014. Cap. 1 & 2 (Getting Started & Git Basics).
  • Git Official Documentation. git-init Manual Page (https://git-scm.com/docs/git-init).

⬅️ Capítulo Anterior (Manipulação de Pastas) | Voltar ao Sumário | Próximo Capítulo (Ciclo de Vida e Estágios) ➡️