Svenska ▾ Topics ▾ Latest version ▾ git-init last updated in 2.52.0

NAMN

git-init - Skapa tomt Git-repo eller ominitialisera ett befintligt

SYNOPSIS

git init [-q | --quiet] [--bare] [--template=<mallkatalog>]
	 [--separate-git-dir <git-kat>] [--object-format=<format>]
	 [--ref-format=<format>]
	 [-b <grennamn> | --initial-branch=<grennamn>]
	 [--shared[=<behörigheter>]] [<katalog>]

BESKRIVNING

Det här kommandot skapar ett tomt Git-repo - i princip en .git-katalog med underkataloger för objects, refs/heads, refs/tags och mallfiler. En initial branch utan några incheckningar kommer att skapas (se alternativet --initial-branch nedan för dess namn).

Om miljövariabeln GIT_DIR är satt anger den en sökväg som ska användas istället för ./.git för basen av repot.

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.

Att köra git init i ett befintligt repo är säkert. Det kommer inte att skriva över saker som redan finns där. Den främsta anledningen till att köra git init igen är att hämta nyligen tillagda mallar (eller att flytta repo till en annan plats om --separate-git-dir anges).

ALTERNATIV

-q
--quiet

Skriv endast ut fel- och varningsmeddelanden; all annan utmatning kommer att undertryckas.

--bare

Skapa ett rent repo. Om GIT_DIR-miljön inte är inställd, sätts den till den aktuella arbetskatalogen.

--object-format=<format>

Ange det givna objektet <format> (hashalgoritm) för repot. Giltiga värden är sha1 och (om aktiverat) sha256. sha1 är standardvärdet.

Obs: För närvarande finns det ingen interoperabilitet mellan SHA-256-repon och SHA-1-repon.

Historiskt sett varnade vi för att SHA-256-arkiv senare kan behöva bakåtinkompatibla ändringar när vi introducerar sådana interoperabilitetsfunktioner. Idag förväntar vi oss bara kompatibla ändringar. Dessutom, om sådana ändringar visar sig vara nödvändiga, kan man förvänta sig att SHA-256-repon som skapats med dagens Git kommer att kunna användas av framtida versioner av Git utan dataförlust.

--ref-format=<format>

Ange den givna referenslagrings-<format> för repot. Giltiga värden är:

  • files för lösa filer med packade referenser. Detta är standardinställningen.

  • reftable för reftable-formatet. Detta format är experimentellt och dess interna funktioner kan komma att ändras.

--template=<mallkatalog>

Ange katalogen från vilken mallarna ska användas. (Se avsnittet "MALLKATALOG" nedan.)

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

Istället för att initiera arkivet som en katalog till antingen $GIT_DIR eller ./.git/, skapa en textfil där som innehåller sökvägen till själva repot. Denna fil fungerar som en filsystemsoberoende symbolisk Git-länk till repot.

Om detta är en ominitialisering, repot kommer att flyttas till den angivna sökvägen.

-b <grennamn>
--initial-branch=<grennamn>

Använd <grennamn> för den initiala grenen i det nyskapade arkivet. Om inget namn anges, återgå till standardnamnet (för närvarande master, men detta kommer att ändras till main när Git 3.0 släpps). Standardnamnet kan anpassas via konfigurationsvariabeln init.defaultBranch.

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

Ange att Git-repot ska delas mellan flera användare. Detta gör det möjligt för användare som tillhör samma grupp att pusha in i det repot. När den anges ställs konfigurationsvariabeln core.sharedRepository in så att filer och kataloger under $GIT_DIR skapas med de begärda behörigheterna. När den inte anges, kommer Git att använda behörigheter som rapporteras av umask(2).

Alternativet kan ha följande värden, med standardvärde group om inget värde anges:

umask
false

Använd behörigheter som rapporteras av umask(2). Standardvärdet när --shared inte anges.

group
true

Gör repot skrivbart i grupp (och g+sx, eftersom git-gruppen kanske inte är den primära gruppen för alla användare). Detta används för att lätta upp behörigheterna för ett annars säkert umask(2)-värde. Observera att umasken fortfarande gäller för de andra behörighetsbitarna (t.ex. om umask är 0022, kommer användning av group inte att ta bort läsbehörigheter från andra (icke-grupp) användare). Se 0xxx för hur du exakt anger arkivets behörigheter.

all
world
everybody

Samma som group, men gör arkivet läsbart för alla användare.

<behörigheter>

<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).

Som standard, är konfigurationsflaggan receive.denyNonFastForwards aktiverad i delade arkiv, så att du inte kan tvinga fram en icke-snabbspolning sänding ("pushing") till den.

Om du anger en <katalog>, körs kommandot inuti den. Om den här katalogen inte finns, kommer den att skapas.

MALLKATALOG

Filer och kataloger i mallkatalogen vars namn inte börjar med en punkt kommer att kopieras till $GIT_DIR efter att den har skapats.

Mallkatalogen kommer att vara en av följande (i ordning):

  • argumentet som ges med alternativet --template;

  • innehållet i miljövariabeln $GIT_TEMPLATE_DIR;

  • konfigurationsvariabeln init.templateDir; eller

  • standardmallkatalogen: /usr/share/git-core/templates.

Standardmallkatalogen innehåller en viss katalogstruktur, föreslagna "exkluderingsmönster" (se gitignore[5]) och exempel på krok-filer.

Exempel krokar är alla inaktiverade som standard. För att aktivera ett av exempel krokarna döp om den genom att ta bort dess .sample suffix .

Se githooks[5] för mer allmän information om krok-exekvering.

EXEMPEL

Starta ett nytt Git-repo för en befintlig kodbas
$ cd /sokvag/till/min/kodbas
$ git init      (1)
$ git add .     (2)
$ git commit    (3)
  1. Skapa en /sokvag/till/min/kodbas/.git-katalog.

  2. Lägg till alla befintliga filer i indexet.

  3. Registrera det ursprungliga tillståndet som den första incheckning i historien.

KONFIGURATION

Allt under den här raden i det här avsnittet är selektivt inkluderat från dokumentationen git-config[1]. Innehållet är detsamma som det som finns där:

init.templateDir

Ange katalogen från vilken mallarna ska kopieras.

init.defaultBranch

Tillåter att åsidosätta standardgrennamnet, t.ex. vid initialisering av ett nytt repo.

init.defaultObjectFormat

Tillåter att åsidosätta standardobjektformatet för nya arkiv. Se --object-format= i git-init[1]. Både kommandoradsalternativet och miljövariabeln GIT_DEFAULT_HASH har företräde framför denna konfiguration.

init.defaultRefFormat

Tillåter åsidosättning av standardformatet för referenslagring för nya arkiv. Se --ref-format= i git-init[1]. Både kommandoradsalternativet och miljövariabeln GIT_DEFAULT_REF_FORMAT har företräde framför denna konfiguration.

GIT

En del av git[1]-sviten