Semana 02 — Git na Prática: Dominando o Terminal¶
Informações da Aula
Disciplina: Sistemas Operacionais / Ferramentas WEB
Data: Fevereiro de 2026
Tema: Git e GitHub pelo Terminal (Linux e Windows)
Obs: Não tivemos essa aula. É um bônus de um apaixonado por Linux
Pré-requisito: Ter completado a Aula 01 (conta no GitHub criada)
🎯 Objetivo da Aula¶
Nesta aula você vai aprender a usar Git e GitHub 100% pelo terminal, sem depender de interface gráfica. Isso é essencial porque:
- 🖥️ Servidores não têm interface gráfica
- ⚡ Terminal é mais rápido que clicar em botões
- 💼 Entrevistas técnicas pedem conhecimento de terminal
- 🛠️ Dá mais controle sobre o que você está fazendo
🖥️ Abrindo o Terminal¶
No Linux (Ubuntu/Mint)¶
Atalho: Ctrl + Alt + T
Ou: Menu → Terminal
No Windows¶
Opção 1 — Git Bash (Recomendado)
Após instalar o Git, procure por "Git Bash" no menu iniciar.
Opção 2 — PowerShell
Clique direito no menu iniciar → "Terminal" ou "PowerShell"
Opção 3 — CMD
Pressione Win + R, digite cmd, pressione Enter.
Recomendação para Windows
Use o Git Bash! Ele simula um terminal Linux e os comandos são idênticos aos do Linux.
⚙️ Configuração Inicial (Primeira vez apenas)¶
Antes de usar o Git, você precisa se identificar. Execute estes comandos:
# Configurar seu nome (aparece nos commits)
git config --global user.name "Seu Nome Completo"
# Configurar seu email (MESMO do GitHub!)
git config --global user.email "seu.email@exemplo.com"
# Definir branch padrão como 'main'
git config --global init.defaultBranch main
# Configurar editor padrão (opcional)
git config --global core.editor "nano"
Verificar se configurou certo¶
Deve mostrar:
📁 Projeto Prático: Criando um Portfólio¶
Vamos criar um projeto real do zero! Um portfólio pessoal simples.
Passo 1 — Criar a pasta do projeto¶
# Ir para a pasta home
cd ~
# Criar pasta do projeto
mkdir meu-portfolio
# Entrar na pasta
cd meu-portfolio
# Verificar onde você está
pwd
Saída esperada:
Passo 2 — Inicializar o Git¶
Saída esperada:
O que aconteceu?
O Git criou uma pasta oculta chamada .git dentro do seu projeto. É lá que ele guarda todo o histórico.
Para ver a pasta oculta:
Passo 3 — Criar o primeiro arquivo¶
Vamos criar um README.md (arquivo de apresentação do projeto):
# Criar arquivo com echo
echo "# Meu Portfólio" > README.md
echo "" >> README.md
echo "Olá! Sou estudante de Engenharia de Software." >> README.md
echo "" >> README.md
echo "## Sobre mim" >> README.md
echo "- 🎓 Cursando Engenharia de Software" >> README.md
echo "- 💻 Aprendendo Git e GitHub" >> README.md
echo "- 🌱 Em constante evolução" >> README.md
Verificar o conteúdo:
Saída esperada:
# Meu Portfólio
Olá! Sou estudante de Engenharia de Software.
## Sobre mim
- 🎓 Cursando Engenharia de Software
- 💻 Aprendendo Git e GitHub
- 🌱 Em constante evolução
Passo 4 — Verificar o status¶
Saída esperada:
On branch main
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
Traduzindo
- Untracked files = Arquivos que o Git ainda não está monitorando
- O Git está te dizendo: "Ei, tem um arquivo novo aqui, quer que eu cuide dele?"
Passo 5 — Adicionar ao Stage (git add)¶
# Adicionar um arquivo específico
git add README.md
# OU adicionar todos os arquivos de uma vez
git add .
Verificar novamente:
Saída esperada:
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
Mudou de cor!
Agora o arquivo está em verde (Changes to be committed). Isso significa que está pronto para o commit.
Passo 6 — Fazer o Commit¶
Saída esperada:
[main (root-commit) abc1234] Cria README com informações iniciais
1 file changed, 8 insertions(+)
create mode 100644 README.md

Boas práticas para mensagens de commit
- ✅
"Adiciona página de contato" - ✅
"Corrige erro no formulário de login" - ✅
"Atualiza estilo do botão principal" - ❌
"Alterações" - ❌
"asdfgh" - ❌
"commit"
Passo 7 — Ver o histórico¶
Saída esperada:
commit abc1234def5678... (HEAD -> main)
Author: Seu Nome <seu.email@exemplo.com>
Date: Mon Feb 17 10:30:00 2026 -0300
Cria README com informações iniciais
Versão resumida:
Saída:
🌐 Conectando ao GitHub¶
Agora vamos enviar seu projeto para o GitHub!
Passo 1 — Criar repositório no GitHub¶
- Acesse github.com
- Clique no "+" → "New repository"
- Preencha:
- Repository name:
meu-portfolio - Description:
Meu portfólio pessoal - Public ✓
- NÃO marque "Add a README file" (já temos!)
- Repository name:
- Clique "Create repository"
Passo 2 — Copiar o link do repositório¶
O GitHub vai mostrar instruções. Copie o link HTTPS:
Passo 3 — Conectar repositório local ao GitHub¶
Verificar se conectou:
Saída esperada:
origin https://github.com/SEU_USUARIO/meu-portfolio.git (fetch)
origin https://github.com/SEU_USUARIO/meu-portfolio.git (push)
Passo 4 — Enviar para o GitHub (Push)¶
O terminal vai pedir:
Username for 'https://github.com': seu_usuario
Password for 'https://github.com': (cole seu token aqui)
ATENÇÃO: Não é sua senha!
O GitHub não aceita mais senha comum. Você precisa usar um Personal Access Token.
Passo 5 — Criar o Token (se ainda não tiver)¶
- No GitHub: Foto de perfil → Settings
- Menu lateral → Developer settings
- Personal access tokens → Tokens (classic)
- Generate new token → Generate new token (classic)
- Preencha:
- Note:
terminal - Expiration: 90 days
- Marque: ☑️
repo
- Note:
- Generate token
- COPIE O TOKEN (começa com
ghp_...)
Copie agora!
O token só aparece uma vez. Se perder, terá que criar outro.
Passo 6 — Colar o token¶
Quando pedir "Password", cole o token e pressione Enter.
Não vai aparecer nada na tela (é por segurança). Só cole e aperte Enter.
Saída de sucesso:
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 312 bytes | 312.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/SEU_USUARIO/meu-portfolio.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
🎉 Verifique no GitHub!¶
Acesse: https://github.com/SEU_USUARIO/meu-portfolio
Seu código está lá!
📝 Fazendo Alterações e Novos Commits¶
Vamos adicionar mais conteúdo ao projeto.
Criar arquivo de projetos¶
# Criar arquivo
echo "# Meus Projetos" > projetos.md
echo "" >> projetos.md
echo "## 1. Newsletter Engenharia de Software" >> projetos.md
echo "Site com resumos semanais das aulas." >> projetos.md
echo "" >> projetos.md
echo "## 2. Meu Portfólio" >> projetos.md
echo "Este repositório!" >> projetos.md
Verificar status¶
Saída:
Adicionar e commitar¶
Enviar para o GitHub¶
Pronto! Não precisa mais do -u origin main, só git push.
🌿 Trabalhando com Branches¶
Branches permitem trabalhar em funcionalidades sem afetar o código principal.

Criar uma branch¶
Saída:
Ver branches existentes¶
Saída:
O * indica em qual branch você está.
Fazer alterações na branch¶
# Criar arquivo de contato
echo "# Contato" > contato.md
echo "" >> contato.md
echo "- Email: seu.email@exemplo.com" >> contato.md
echo "- GitHub: github.com/seu_usuario" >> contato.md
echo "- LinkedIn: linkedin.com/in/seu_usuario" >> contato.md
# Adicionar e commitar
git add contato.md
git commit -m "Adiciona página de contato"
Voltar para main¶
Verifique:
O arquivo contato.md sumiu! Ele só existe na branch pagina-contato.
Mesclar (Merge) a branch¶
Saída:
Updating abc1234..def5678
Fast-forward
contato.md | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 contato.md
Agora o contato.md está na main!
Deletar a branch (opcional)¶
Enviar tudo para o GitHub¶
📥 Baixando Atualizações (Pull)¶
Se você ou outra pessoa fez alterações pelo GitHub, baixe assim:
Isso baixa e mescla automaticamente.
🔁 Resumo: Fluxo de Trabalho Diário¶
# 1. Verificar status
git status
# 2. Adicionar arquivos modificados
git add .
# 3. Criar commit
git commit -m "Descrição clara do que foi feito"
# 4. Enviar para o GitHub
git push
📋 Comandos Completos¶

Configuração¶
| Comando | Descrição |
|---|---|
git config --global user.name "Nome" |
Define seu nome |
git config --global user.email "email" |
Define seu email |
git config --list |
Lista configurações |
Básico¶
| Comando | Descrição |
|---|---|
git init |
Inicia repositório |
git status |
Mostra status dos arquivos |
git add arquivo |
Adiciona arquivo ao stage |
git add . |
Adiciona todos os arquivos |
git commit -m "msg" |
Cria commit |
git log |
Mostra histórico |
git log --oneline |
Histórico resumido |
Remoto (GitHub)¶
| Comando | Descrição |
|---|---|
git remote add origin URL |
Conecta ao GitHub |
git remote -v |
Lista conexões |
git push |
Envia para GitHub |
git push -u origin main |
Primeiro push |
git pull |
Baixa do GitHub |
git clone URL |
Clona repositório |
Branches¶
| Comando | Descrição |
|---|---|
git branch |
Lista branches |
git branch nome |
Cria branch |
git checkout nome |
Muda de branch |
git checkout -b nome |
Cria e muda |
git merge nome |
Mescla branch |
git branch -d nome |
Deleta branch |
🎬 Vídeos Recomendados¶
| Vídeo | Canal | Link |
|---|---|---|
| Git e Github com o VSCode no GNU/Linux | Bora para Prática | YouTube |
🛠️ Exercício Prático¶
Faça sozinho:
- Crie uma pasta
exercicio-git - Inicialize o Git
- Crie um arquivo
ola.txtcom seu nome - Faça commit
- Crie uma branch
feature-idade - Adicione sua idade ao arquivo
- Faça commit na branch
- Volte para main
- Faça merge
- Crie repositório no GitHub e envie
Comandos que você vai usar:
mkdir exercicio-git
cd exercicio-git
git init
echo "Meu nome é ..." > ola.txt
git add .
git commit -m "Primeiro commit"
git checkout -b feature-idade
echo "Tenho XX anos" >> ola.txt
git add .
git commit -m "Adiciona idade"
git checkout main
git merge feature-idade
git remote add origin https://github.com/SEU_USUARIO/exercicio-git.git
git push -u origin main
✅ Checklist da Aula¶
- [ ] Sei abrir o terminal no meu sistema
- [ ] Configurei nome e email no Git
- [ ] Criei um repositório do zero com
git init - [ ] Fiz commits pelo terminal
- [ ] Conectei ao GitHub com
git remote - [ ] Enviei código com
git push - [ ] Criei e mesclei branches
- [ ] Entendo o fluxo: add → commit → push
🆘 Problemas Comuns¶
"fatal: not a git repository"¶
Você não está numa pasta com Git. Execute git init ou entre na pasta certa.
"error: failed to push some refs"¶
O GitHub tem commits que você não tem. Execute:
"Authentication failed"¶
Token errado ou expirado. Crie um novo token.
"Permission denied"¶
No Linux, pode ser problema de permissão:
Dúvidas?
Pratique os comandos! A melhor forma de aprender é fazendo. Se travar, me chama no grupo!