git init
Créer un dépôt Git vide
La commande 'git init' transforme le dossier actuel en dépôt Git en créant un dossier caché .git. Le dépôt démarre vide : vos fichiers ne sont pas suivis tant que vous ne les avez pas ajoutés et committés. La relancer dans un dépôt existant est sans danger — cela ne change rien. Utilisez-la pour un tout nouveau projet ; pour travailler sur un projet existant, utilisez plutôt git clone.
Synopsis
git init [-q | --quiet] [-b <branch-name> | --initial-branch=<branch-name>] [<directory>]Options
Choisir la bonne option
init ou clone
Deux façons d’obtenir un dépôt
| Commande | Commence avec | À utiliser quand |
|---|---|---|
git init | Un dépôt vide | Vous démarrez un nouveau projet |
git clone <url> | Une copie complète d’un dépôt distant | Le projet existe déjà |
Exemples
Créer un dépôt ici
git initCrée .git dans le dossier actuel.
Choisir le nom de la première branche
git init -b mainLa première branche s’appelle main.
Dans un nouveau dossier
git init shopCrée le dossier shop avec un dépôt à l’intérieur.
Exemples de workflows
git init -b mainCréer le dépôt
git add . && git commit -m "Initial commit"Premier commit
git remote add origin git@github.com:you/shop.gitRelier le dépôt GitHub vide
git push -u origin mainPublier
Dépannage
fatal: not a git repository
Cause : Vous êtes en dehors de tout dépôt
Faites cd dans le projet, ou lancez-y git init
La première branche s’appelle master
Cause : init.defaultBranch n’est pas défini
git init -b main, ou git config --global init.defaultBranch main
Astuces et pièges
Bonnes pratiques
- ✓Ajoutez un .gitignore avant le premier commit.
- ✓Réglez init.defaultBranch une fois pour toutes, en global.
Erreurs fréquentes
- ✗Lancer git init dans le dossier d’un dépôt existant et imbriquer des dépôts.
- ✗Lancer git init dans votre dossier personnel et suivre tout votre ordinateur.
- ✗Utiliser git init + git remote add alors que git clone copierait directement le projet.
FAQ
Supprimez le dossier caché .git. Vos fichiers restent.
Oui. Il affiche "Reinitialized existing Git repository" et garde tout.