Por que voce precisa aprender Git?
Imagine que voce esta escrevendo um trabalho importante. Voce salva como "trabalho_final.docx". Depois faz alteracoes e salva como "trabalho_final_v2.docx". Mais alteracoes: "trabalho_final_v3_REVISADO.docx". E antes de perceber, sua pasta esta cheia de versoes e voce nao sabe qual e a certa.
Agora imagine isso acontecendo com codigo de uma aplicacao real, com milhares de arquivos, sendo modificados por uma equipe inteira, ao mesmo tempo.
E aqui que o Git entra.
Em termos simples: Git e como uma maquina do tempo para o seu codigo. Ele registra cada mudanca que voce faz, permite que voce volte a qualquer ponto anterior, e possibilita que varias pessoas trabalhem no mesmo projeto sem um sobrescrever o trabalho do outro. E a ferramenta mais importante no dia a dia de qualquer desenvolvedor.
Se voce esta comecando do zero em programacao, aprender Git nao e opcional -- e obrigatorio. Toda empresa, todo projeto open-source e toda vaga de emprego espera que voce saiba usar.
Git vs. GitHub: entenda a diferenca
Essa confusao e normal no comeco. Vamos resolver de uma vez:
Git
- E uma ferramenta de controle de versao
- Roda localmente no seu computador
- Criado por Linus Torvalds (o mesmo que criou o Linux) em 2005
- Gratuito e open-source
- Funciona via linha de comando (terminal)
GitHub
- E uma plataforma online que hospeda repositorios Git
- Funciona como uma rede social de codigo -- voce pode compartilhar, colaborar e descobrir projetos
- Pertence a Microsoft desde 2018
- Oferece recursos extras: issues, pull requests, GitHub Actions, GitHub Pages
- E o seu portfolio de programador -- recrutadores olham seu GitHub
Analogia simples
| Conceito | Analogia | |----------|---------| | Git | Google Docs (controle de versoes do arquivo) | | GitHub | Google Drive (armazena e compartilha na nuvem) | | Repositorio | Uma pasta do projeto com todo o historico | | Commit | Um "salvar" com descricao do que mudou |
Instalando o Git
Windows
- Acesse git-scm.com
- Baixe o instalador para Windows
- Execute e siga as opcoes padrao (Next, Next, Next...)
- Abra o Git Bash (instalado automaticamente)
Mac
# Se voce tem Homebrew instalado:
brew install git
# Ou baixe diretamente de git-scm.com
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install git
Verificando a instalacao
git --version
# Saida esperada: git version 2.x.x
Configuracao inicial
Antes de usar o Git, configure seu nome e email. Esses dados aparecem em cada commit que voce fizer.
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
Para verificar as configuracoes:
git config --list
Os comandos essenciais do Git
Aqui estao os comandos que voce vai usar todos os dias. Nao precisa decorar tudo agora -- use essa secao como referencia.
git init -- iniciar um repositorio
Transforma uma pasta normal em um repositorio Git.
mkdir meu-projeto
cd meu-projeto
git init
Resultado: cria uma pasta oculta .git que armazena todo o historico de versoes.
git status -- ver o estado atual
Mostra quais arquivos foram modificados, adicionados ou estao prontos para commit.
git status
Use esse comando constantemente. E seu painel de controle.
git add -- preparar arquivos para commit
Adiciona arquivos a "area de staging" -- uma sala de espera antes do commit.
# Adicionar um arquivo especifico
git add index.html
# Adicionar todos os arquivos modificados
git add .
git commit -- salvar uma versao
Cria um ponto na historia do projeto com uma mensagem descritiva.
git commit -m "Adiciona pagina inicial do site"
Regra de ouro: a mensagem do commit deve explicar o que foi feito, de forma clara e objetiva.
git log -- ver o historico
Mostra todos os commits feitos, do mais recente ao mais antigo.
git log
# Versao resumida (mais pratica)
git log --oneline
git diff -- ver o que mudou
Mostra as diferencas entre a versao atual e a ultima versao salva.
git diff
Exemplo pratico: seu primeiro projeto com Git
Vamos criar um projeto do zero e versionalo com Git, passo a passo.
Passo 1: criar o projeto
mkdir meu-portfolio
cd meu-portfolio
git init
Passo 2: criar um arquivo
Crie um arquivo index.html com o seguinte conteudo:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Meu Portfolio</title>
</head>
<body>
<h1>Ola, mundo!</h1>
<p>Esse e meu primeiro projeto com Git.</p>
</body>
</html>
Passo 3: verificar o status
git status
Saida:
Untracked files:
index.html
O Git detectou o novo arquivo, mas ele ainda nao esta sendo rastreado.
Passo 4: adicionar e fazer commit
git add index.html
git commit -m "Cria pagina inicial do portfolio"
Passo 5: fazer uma alteracao
Edite o index.html e adicione mais conteudo:
<h2>Sobre mim</h2>
<p>Estou aprendendo programacao na FISApp Academy.</p>
Passo 6: salvar a alteracao
git add index.html
git commit -m "Adiciona secao sobre mim"
Passo 7: ver o historico
git log --oneline
Saida:
a1b2c3d Adiciona secao sobre mim
e4f5g6h Cria pagina inicial do portfolio
Pronto! Voce tem duas versoes do seu projeto salvas. Se algo der errado, pode voltar a qualquer uma delas.
Quer aprender Git na pratica, com projetos reais?
No curso Programacao do Zero ao Avancado - Start, voce aprende Git e GitHub de verdade -- nao apenas os comandos, mas como usar no dia a dia de um desenvolvedor profissional. Incluindo boas praticas de commits, branches e colaboracao.
GitHub: levando seu codigo para a nuvem
Ate agora, tudo que fizemos foi local (no seu computador). O GitHub permite que voce suba seu codigo para a nuvem, compartilhe com outros e tenha um backup seguro.
Criando sua conta no GitHub
- Acesse github.com
- Clique em "Sign up"
- Preencha seus dados (use um email profissional se possivel)
- Escolha o plano gratuito
Criando um repositorio no GitHub
- Clique no botao "+" no canto superior direito
- Selecione "New repository"
- De um nome (ex:
meu-portfolio) - Escolha "Public" (para que recrutadores possam ver)
- Clique em "Create repository"
Conectando o repositorio local ao GitHub
O GitHub vai mostrar instrucoes. Para um repositorio ja existente:
git remote add origin https://github.com/seuusuario/meu-portfolio.git
git branch -M main
git push -u origin main
Explicando cada comando:
git remote add origin-- conecta seu repositorio local ao GitHubgit branch -M main-- renomeia a branch principal para "main"git push -u origin main-- envia seu codigo para o GitHub
Atualizando o GitHub apos novas mudancas
Sempre que fizer novos commits, suba para o GitHub:
git add .
git commit -m "Descricao da mudanca"
git push
Branches: trabalhando em paralelo
Branches (ramificacoes) permitem que voce trabalhe em novas funcionalidades sem afetar o codigo principal.
Por que usar branches?
Imagine que voce esta construindo um site que ja funciona. Voce quer adicionar uma pagina de contato, mas nao quer correr o risco de quebrar o que ja esta pronto. Solucao: crie uma branch.
# Criar uma nova branch
git branch pagina-contato
# Mudar para a nova branch
git checkout pagina-contato
# Ou criar e mudar de uma vez
git checkout -b pagina-contato
Fluxo basico com branches
# 1. Criar branch para a nova feature
git checkout -b minha-feature
# 2. Trabalhar normalmente (editar, adicionar, commitar)
git add .
git commit -m "Implementa nova feature"
# 3. Voltar para a branch principal
git checkout main
# 4. Mesclar a feature na branch principal
git merge minha-feature
# 5. Deletar a branch (ja foi mesclada)
git branch -d minha-feature
Visualizacao
main: A --- B --- C --------- F (merge)
\ /
minha-feature: D --- E ------
Voce trabalhou nos commits D e E sem afetar a branch main. Depois, fez o merge e tudo se juntou.
Comandos complementares importantes
git clone -- copiar um repositorio existente
git clone https://github.com/usuario/repositorio.git
Baixa uma copia completa do repositorio (com todo o historico) para seu computador.
git pull -- atualizar seu repositorio local
git pull
Baixa as mudancas mais recentes do GitHub para seu computador. Use antes de comecar a trabalhar se outras pessoas tambem contribuem no projeto.
git stash -- guardar mudancas temporariamente
# Guardar mudancas nao commitadas
git stash
# Recuperar as mudancas guardadas
git stash pop
Util quando voce precisa trocar de branch mas nao quer perder o que esta fazendo.
Boas praticas de commits
Seus commits contam a historia do seu projeto. Siga essas regras:
Faca commits pequenos e frequentes
Cada commit deve representar uma unica mudanca logica. Nao acumule varias alteracoes em um unico commit gigante.
# Bom
git commit -m "Adiciona validacao de email no formulario"
git commit -m "Corrige bug no calculo de desconto"
# Ruim
git commit -m "Varias alteracoes"
Use mensagens descritivas
A mensagem deve responder: o que foi feito?
# Bom
git commit -m "Adiciona responsividade na pagina de contato"
git commit -m "Corrige erro de digitacao no titulo da home"
git commit -m "Remove console.log de debug"
# Ruim
git commit -m "fix"
git commit -m "alteracoes"
git commit -m "ajustes finais"
Padrao recomendado para mensagens
Use verbos no imperativo:
- "Adiciona..." (novo recurso)
- "Corrige..." (bug fix)
- "Remove..." (limpeza)
- "Atualiza..." (melhoria)
- "Refatora..." (reestruturacao sem mudar comportamento)
Git no seu portfolio e carreira
O GitHub nao e apenas um backup do seu codigo -- e o seu portfolio como desenvolvedor. Recrutadores olham seu GitHub para avaliar:
- Consistencia -- voce esta programando regularmente?
- Qualidade -- seus commits sao organizados? O codigo esta limpo?
- Diversidade -- voce trabalha com diferentes tecnologias?
- Colaboracao -- voce contribui para projetos de outros?
Dicas para um GitHub profissional
- Fixe seus melhores repositorios no perfil
- Escreva READMEs claros para cada projeto (o que faz, como rodar, tecnologias usadas)
- Contribua em projetos open-source -- comece por issues marcadas como "good first issue"
- Mantenha o perfil ativo -- commits regulares mostram consistencia
- Crie um README de perfil -- uma apresentacao pessoal que aparece na sua pagina principal
Quer montar um plano de estudos estruturado? Git e GitHub estao entre as primeiras habilidades a desenvolver.
Erro comum
Erro comum: muitos iniciantes deixam para aprender Git "depois" e comecam a programar sem controle de versao. Resultado: perdem codigo, sobrescrevem alteracoes e nao conseguem colaborar em equipe. Git nao e uma ferramenta avancada -- e uma ferramenta basica que deve ser aprendida junto com os primeiros passos em programacao. Quanto mais cedo voce incorporar o habito de commitar regularmente, mais natural ele se torna.
Outro erro comum e commitar arquivos sensiveis (senhas, chaves de API, arquivos .env). Use o arquivo .gitignore para listar o que o Git deve ignorar:
# .gitignore
node_modules/
.env
*.log
dist/
Sempre configure o .gitignore no inicio do projeto. Remover arquivos sensiveis do historico do Git depois que ja foram commitados e muito mais complicado.
Resumo rapido
- Git e a ferramenta de controle de versao (roda local); GitHub e a plataforma na nuvem
- Os comandos essenciais sao:
init,add,commit,status,log,push,pull - Commits devem ser pequenos, frequentes e com mensagens descritivas
- Branches permitem trabalhar em features sem afetar o codigo principal
- GitHub e seu portfolio -- recrutadores avaliam seus repositorios
- Use
.gitignorepara nunca commitar arquivos sensiveis - Git nao e opcional -- e fundamental para qualquer desenvolvedor
O que estudar depois
Agora que voce domina os fundamentos de Git e GitHub, os proximos passos sao:
- Entender front-end, back-end e APIs -- voce vai versionar projetos dessas areas, entao entender a arquitetura e essencial
- Montar seu plano de estudos -- Git e uma peca do quebra-cabeca; veja como encaixar tudo em uma trilha organizada
- Aprender C# para construir projetos reais -- combine Git + uma linguagem de programacao para construir e versionar projetos completos
- Voltar ao guia completo para iniciantes -- veja onde Git se encaixa na trilha geral
Pronto para dominar Git com projetos reais?
Git e GitHub sao ferramentas que voce vai usar todos os dias como desenvolvedor. No curso Programacao do Zero ao Avancado - Start da FISApp Academy, voce aprende Git na pratica -- criando repositorios, fazendo commits, trabalhando com branches e publicando seu portfolio no GitHub. Tudo integrado com os projetos que voce constroi ao longo do curso.