Git
Français ▾ Topics ▾ Latest version ▾ git-init last updated in 2.23.0

NOM

git-init - Crée un dépôt Git vide ou réinitialise un dépôt existant

SYNOPSIS

git init [-q | --quiet] [--bare] [--template=<répertoire_modèle>]
	  [--separate-git-dir <répertoire git>]
	  [--shared[=<permissions>]] [dossier]

DESCRIPTION

Cette commande crée un dépôt Git vide - essentiellement un répertoire .git avec des sous-répertoires pour les fichiers objects, refs/heads, refs/tags et les fichiers de modèle. Un fichier HEAD initial qui fait référence à la tête de la branche principale (master) est également créé.

Si la variable d’environnement $GIT_DIR est définie, alors elle spécifie un chemin à utiliser au lieu de ./.git comme base du dépôt.

Si le répertoire de stockage d’objets est spécifié via la variable d’environnement $GIT_OBJECT_DIRECTORY, alors les répertoires sha1 sont créés dedans - sinon le répertoire par défaut $GIT_DIR/objects est utilisé.

Exécuter git init dans un dépôt existant est sécurisé. Cela n’écrasera pas des choses qui sont déjà dedans. La raison principale de ré-exécuter git init est de récupérer les modèles récemment ajoutés (ou de déplacer le dépôt ailleurs si --separate-git-dir est fourni).

OPTIONS

-q
--quiet

N’afficher que les messages d’erreur et d’alerte ; toutes les autres sorties seront supprimées.

--bare

Créer un dépôt nu. Si l’environnement GIT_DIR n’est pas défini, alors il est défini au répertoire de travail courant.

--template=<répertoire_de_modèles>

Spécifier le dossier depuis lequel les modèles seront utilisés (Voyez la section « DOSSIER MODÈLE » ci-dessous.)

--separate-git-dir=<répertoire git>

Au lieu d’initialiser le dépôt en tant que répertoire dans soit $GIT_DIR soit ./.git, y créer un fichier texte contenant le chemin du dépôt réel. Ce fichier agit comme un lien symbolique Git indépendant du système de fichier vers le dépôt.

Si c’est une réinitialisation, le dépôt sera déplacé vers le chemin spécifié.

--shared[=(false|true|umask|group|all|world|everybody|0xxx)]

Spécifier que le dépôt Git doit être partagé entre plusieurs utilisateurs. Ceci permet à des utilisateurs faisant partie du même groupe de pousser dans ce dépôt. Lorsque que cette option est spécifiée, la variable de configuration "core.sharedRepository" est définie de telle sorte que les fichiers et les dossiers sous $GIT_DIR sont créés avec les permissions demandées. Lorsqu’elle n’est pas spécifiée, Git utilisera les permissions rapportées par umask(2).

L’option peut avoir les valeurs suivantes, prenant par défaut la valeur group si aucune valeur n’est renseignée :

umask (ou false)

Utiliser les permissions rapportées par umask(2). Valeur par défaut, quand --shared n’est pas spécifié.

group (ou true)

Rendre le dépôt modifiable par groupe (et g+sx, puisque le groupe git peut ne pas être le groupe principal de tous les utilisateurs). Ceci est utilisé pour assouplir les permissions d’une valeur umask(2) par ailleurs sûre. Notez que umask s’applique toujours aux autres bits d’autorisation (par exemple, si umask est défini sur 0022, l’utilisation de group ne supprime pas les privilèges de lecture des autres utilisateurs (non membres du groupe)). Voir 0xxx pour savoir comment spécifier exactement les autorisations du dépôt.

all (ou world ou everybody)

Comme group, mais rendre le dépôt lisible par tous les utilisateurs.

0xxx

0xxx est un nombre octal et chaque fichier aura le mode 0xxx. 0xxx surchargera la valeur umask(2) des utilisateurs (en plus d’assouplir les permissions comme group et all le font). 0640 créera un dépôt qui est lisible par groupe, mais pas modifiable par groupe ni accessible aux autres. 0660 créera un dépôt lisible et modifiable par l’utilisateur et le groupe courants, mais inaccessible aux autres.

Par défaut, l’option de configuration receive.denyNonFastForwards est activée dans les dépôts partagés, de telle sorte que vous ne pouvez pas forcer une poussée qui ne serait pas en avance rapide.

Si vous renseignez un dossier, la commande est exécutée à l’intérieur de celui-ci. Si ce dossier n’existe pas, il sera créé.

DOSSIER MODÈLE

Les fichiers et les dossiers dans le dossier modèle dont le nom ne commence pas par un point seront copiés dans le $GIT_DIR après qu’il sera créé.

Le dossier modèle sera l’un des suivants (dans l’ordre) :

  • l’argument fourni avec l’option --template ;

  • le contenu de la variable d’environnement $GIT_TEMPLATE_DIR ;

  • la variable de configuration init.templateDir ; ou

  • le dossier modèle par défaut : /usr/share/git-core/templates.

Le dossier modèle par défaut inclut une certaine structure de dossier, des "modèles d’exclusions" suggérés (voir gitignore[5]), et des exemples de fichiers crochet.

Les exemples de crochets sont tous désactivés par défaut. Pour activer l’un des exemples de crochets, renommez-le en enlevant le suffixe .sample.

Voir githooks[5] pour des informations plus générales sur l’exécution d’un crochet.

EXEMPLES

Démarrer un nouveau dépôt Git pour une base de code existante
$ cd /chemin/vers/mon/code/de/base
$ git init      (1)
$ git add .     (2)
$ git commit    (3)
  1. Créer un dossier /chemin/vers/mon/code/de/base/.git.

  2. Ajouter tous les fichiers existants à l’index.

  3. Enregistrer l’état d’origine comme le premier commit dans l’historique.

GIT

Fait partie de la suite git[1]