git init
Cria um repositório Git vazio
O comando 'git init' transforma a pasta atual num repositório Git, criando uma pasta oculta .git. O repositório começa vazio: seus arquivos não são rastreados até você adicioná-los e fazer o commit. Executá-lo de novo num repositório existente é seguro — não muda nada. Use-o para um projeto novo; para trabalhar num existente, use git clone.
Sinopse
git init [-q | --quiet] [-b <branch-name> | --initial-branch=<branch-name>] [<directory>]Opções
Escolhendo a opção certa
init versus clone
Duas formas de obter um repositório
| Comando | Começa com | Use quando |
|---|---|---|
git init | Um repositório vazio | Você começa um projeto novo |
git clone <url> | Uma cópia completa de um repositório remoto | O projeto já existe |
Exemplos
Criar um repositório aqui
git initCria .git na pasta atual.
Escolher o nome do primeiro branch
git init -b mainO primeiro branch se chama main.
Numa pasta nova
git init shopCria a pasta shop com um repositório dentro.
Exemplos de fluxos de trabalho
git init -b mainCriar o repositório
git add . && git commit -m "Initial commit"Primeiro commit
git remote add origin git@github.com:you/shop.gitLigar o repositório vazio do GitHub
git push -u origin mainPublicar
Solução de problemas
fatal: not a git repository
Causa: Você está fora de qualquer repositório
Entre no projeto com cd, ou execute git init lá
O primeiro branch se chama master
Causa: init.defaultBranch não está configurado
git init -b main, ou git config --global init.defaultBranch main
Dicas e armadilhas
Boas práticas
- ✓Adicione um .gitignore antes do primeiro commit.
- ✓Configure init.defaultBranch uma vez, globalmente.
Erros comuns
- ✗Executar git init dentro da pasta de um repositório existente e aninhar repositórios.
- ✗Executar git init na sua pasta pessoal e rastrear o computador inteiro.
- ✗Usar git init + git remote add quando git clone copiaria o projeto direto.
Perguntas frequentes
Apague a pasta oculta .git. Seus arquivos ficam.
Sim. Ele mostra "Reinitialized existing Git repository" e mantém tudo.