Git
Deutsch ▾ Topics ▾ Latest version ▾ git-init last updated in 2.47.0

NAME

git-init-db – Erstellt ein leeres Git-Repository oder initialisiert ein vorhandenes erneut

ÜBERSICHT

git init [-q | --quiet] [--bare] [--template=<template-directory>]
	  [--separate-git-dir <git-dir>] [--object-format=<format>]
	  [-b <branch-name> | --initial-branch=<branch-name>]
	  [--shared[=<permissions>]] [<directory>]

BESCHREIBUNG

Dieser Befehl erzeugt ein leeres Git-Repository – im Grunde ein .git-Verzeichnis mit Unterverzeichnissen für objects, refs/heads, refs/tags und für die Template-Dateien. Eine initialer Branch ohne jegliche Commits wird erstellt (siehe die Option --initial-branch unten für dessen Namen).

Wenn die Umgebungsvariable $GIT_DIR gesetzt ist, dann gibt sie einen Pfad an, der anstelle von ./.git für die Basis des Repositorys verwendet werden soll.

If the object storage directory is specified via the $GIT_OBJECT_DIRECTORY environment variable then the sha1 directories are created underneath; otherwise, the default $GIT_DIR/objects directory is used.

Das Ausführen von git init in einem bestehenden Repository ist ungefährlich. Es wird nichts überschrieben, was dort bereits vorhanden ist. Der Hauptgrund für das erneute Ausführen von git init ist das Aufnehmen neu hinzugefügter Templates (oder das Verschieben des Repositorys an einen anderen Ort, wenn --separate-git-dir angegeben wird).

OPTIONEN

-q
--quiet

Nur Fehler- und Warnmeldungen ausgeben; alle anderen Meldungen werden ausgeblendet.

--bare

Erstellt ein Bare-Repository. Wenn die Umgebungsvariable GIT_DIR nicht festgelegt ist, wird sie auf das aktuelle Arbeitsverzeichnis angewendet.

--object-format=<Format>

Spezifiziert das angegebene Objektformat (Hash-Algorithmus) für das Repository. Die gültigen Werte sind sha1 und, falls aktiviert, sha256. sha1 ist die Voreinstellung.

Warning

Missing de/object-format-disclaimer.txt

See original version for this content.

--template=<template-directory>

Gib das Verzeichnis an, aus dem Templates verwendet werden sollen (Siehe unten den Abschnitt „TEMPLATE VERZEICHNIS“).

--separate-git-dir=<git-dir>

Instead of initializing the repository as a directory to either $GIT_DIR or ./.git/, create a text file there containing the path to the actual repository. This file acts as a filesystem-agnostic Git symbolic link to the repository.

If this is a reinitialization, the repository will be moved to the specified path.

-b <Branch-Name>
--initial-branch=<Branch-Name>

Verwendet den angegebenen Namen für den initialen Branch im neu erstellten Repository. Falls nicht angegeben, wird auf den Standardnamen zurückgegriffen (derzeit master, aber dies kann sich in Zukunft ändern; der Name kann über die Konfigurationsvariable init.defaultBranch angepasst werden).

--shared[=(false|true|umask|group|all|world|everybody|<perm>)]

Bestimmt, dass das Git-Repository von mehreren Benutzern gemeinsam genutzt werden soll. Dadurch können Benutzer, die derselben Gruppe angehören, in dieses Repository pushen. Falls spezifiziert, wird die config-Variable "core.sharedRepository" so angelegt, dass Dateien und Verzeichnisse unter $GIT_DIR mit den angeforderten Berechtigungen erstellt werden. Wenn nichts angegeben ist, wird Git die von umask(2) gelieferten Berechtigungen verwenden.

Die Option kann die folgenden Werte annehmen, wobei group die Standardeinstellung ist, falls kein Wert angegeben wird:

umask (oder false)

Verwendet die von umask(2) gelieferten Berechtigungen. Die Voreinstellung, falls --shared nicht angegeben ist.

group (oder true)

Make the repository group-writable, (and g+sx, since the git group may not be the primary group of all users). This is used to loosen the permissions of an otherwise safe umask(2) value. Note that the umask still applies to the other permission bits (e.g. if umask is 0022, using group will not remove read privileges from other (non-group) users). See 0xxx for how to exactly specify the repository permissions.

all (oder world oder everybody)

Das gleiche wie group, aber macht das Repository für alle Benutzer lesbar.

<perm>

<perm> is a 3-digit octal number prefixed with 0 and each file will have mode <perm>. <perm> will override users' umask(2) value (and not only loosen permissions as group and all do). 0640 will create a repository which is group-readable, but not group-writable or accessible to others. 0660 will create a repo that is readable and writable to the current user and group, but inaccessible to others (directories and executable files get their x bit from the r bit for corresponding classes of users).

Standardmäßig ist das Konfigurationsflag receive.denyNonFastForwards in gemeinsam genutzten Repositorys aktiviert, sodass Sie keinen „non-fast-forward“ Push erzwingen können.

Wenn Sie ein Directory (Verzeichnis) angeben, wird der Befehl innerhalb dieses Verzeichnisses ausgeführt. Wenn dieses Verzeichnis nicht existiert, wird es erstellt.

TEMPLATE DIRECTORY

Dateien und Verzeichnisse im Template-Verzeichnis, deren Name nicht mit einem Punkt beginnt, werden nach der Erstellung in das $GIT_DIR kopiert.

Das Template-Verzeichnis wird aus folgender Einstellung generiert (Reihenfolge nach Priorität):

  • dem Argument, das mit der Option --template angegeben wurde;

  • dem Inhalt der Umgebungs-Variablen $GIT_TEMPLATE_DIR;

  • der Konfigurations-Variablen init.templateDir; oder

  • dem standardmäßigen Template-Verzeichnis: /usr/share/git-core/templates.

Das standardmäßige Template-Verzeichnis enthält eine gewisse Verzeichnisstruktur, vorgeschlagene „Ausschlussmuster“ (siehe gitignore[5]) und Beispiele für Hook-Dateien.

Die Beispiel-Hooks sind automatisch alle deaktiviert. Diese Hooks können aktiviert werden, indem die Datei-Erweiterung .sample entfernt wird.

Siehe githooks[5] für generelle Informationen zur Hook-Anwendung.

BEISPIELE

Ein neues Git-Repository mit einer vorhandenen Code-Basis anlegen
$ cd /Pfad/zu/meiner/Code-Basis
$ git init      (1)
$ git add .     (2)
$ git commit    (3)
  1. Erstellt das Verzeichnis /Pfad/zu/meiner/Code-Basis/.git.

  2. Fügt alle vorhandenen Dateien zum Index hinzu.

  3. Zeichnet den Urzustand als ersten Commit im Verlauf des Repositorys auf.

KONFIGURATION

Warning

Missing de/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing de/config/init.txt

See original version for this content.

GIT

Teil der git[1] Suite

scroll-to-top