Description : Initialise un nouveau repository Git.
Syntaxe : git init [<directory>] [options]
Voici un tableau récapitulatif clair et structuré de la commande git init avec ses options principales et un exemple d’utilisation pour chacune :
| Option | Description | Exemple |
|---|---|---|
| Initialise un repository Git dans le dossier courant (avec working directory). | git init | |
--bare | Initialise un repository bare sans working directory (uniquement les données internes Git). | git init --bare monrepo.git |
--template=<répertoire> | Utilise un répertoire de template personnalisé pour initialiser le dépôt (hooks, etc.). | git init --template=/chemin/templates |
--separate-git-dir=<répertoire> | Place le dossier .git ailleurs (hors du répertoire courant). | git init --separate-git-dir=/chemin/.git |
--shared[=valeur] | Définit les permissions d’accès au dépôt (ex : privé, groupe, public, code octal). | git init --shared=group |
-q, --quiet | Mode silencieux, affiche uniquement les messages critiques ou erreurs. | git init --quiet |
-b <branche>, --initial-branch=<branche> | Définit le nom de la branche initiale (ex : main ou master). | git init --initial-branch=main |
--object-format=<format> | Définit le format d’objet Git (sha1 par défaut, sha256 si activé). | git init --object-format=sha256 |
--ref-format=<format> | Définit le format des références Git (files ou reftable). | git init --ref-format=reftable |
Quelques précisions rapides :
-bare: utile pour créer un dépôt central sans copie des fichiers, par exemple pour partager sur un serveur.-template: permet d’ajouter des hooks personnalisés ou fichiers de config au moment de l’initialisation.-shared: très utile sur un serveur ou dépôt multi-utilisateurs pour gérer permissions (ex :grouppour accès en groupe).-initial-branch: important pour nommer la branche principale, souventmainde nos jours au lieu demaster.
Explications supplémentaires :
- Repository bare : Pas de copie des fichiers sources, uniquement le dossier
.gità la racine. Utile comme dépôt central. - Template : Permet d’ajouter des hooks ou fichiers par défaut à la création.
- Separate git dir : Sépare les données Git du code pour organiser le stockage.
- Shared : Pour contrôler qui peut accéder au repo.
- Initial branch : Moderne permettant de nommer la branche initiale (ex :
mainau lieu demaster). - Object and ref formats : Options avancées pour les mécanismes Git internes.
Exemple minimal pour un repo normal :
git initExemple d’un repo bare pour serveur :
git init --bare projet.gitExemple avec template personnalisé :
git init --template=/usr/share/git-core/templates/mytemplateExemple pour changer le nom de branche par défaut :
git init -b main