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

NAMN

git-init - Skapa tomt Git-kodförråd eller ominitialisera ett befintligt

SYNOPSIS

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

BESKRIVNING

Det här kommandot skapar ett tomt Git-kodförråd - 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 i stället för ./.git för basen av kodförrådet.

Om objektlagringskatalogen anges via miljövariabeln GIT_OBJECT_DIRECTORY sen skapas sha1-katalogerna under; annars används standardkatalogen $GIT_DIR/objects.

Att köra git init i ett befintligt kodförråd ä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 kodförråd 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 bart kodförråd. 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 kodförrådet. 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-kodförråd och SHA-1-kodförråd.

Historiskt sett varnade vi för att SHA-256-kodförråd 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-kodförråd 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 kodförrådet. 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>

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

Om detta är en ominitialisering, kodförrådet kommer att flyttas till den angivna sökvägen.

-b <gren-namn>
--initial-branch=<gren-namn>

Använd <gren-namn> för den initiala grenen i det nyskapade kodförrådet. 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-kodförrådet ska delas mellan flera användare. Detta gör det möjligt för användare som tillhör samma grupp att skicka in i det kodförrådet. 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 kodförrådet 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 kodförrådets behörigheter.

all
world
everybody

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

<behörigheter>

<behörigheter> <perm> är ett 3-siffrigt oktalt tal prefixerat med 0 och varje fil kommer att ha läget <behörigheter>. <behörigheter> kommer att åsidosätta användarnas umask(2) värde (och inte bara lossa behörigheter som group och all gör). 0640 kommer att skapa ett kodförråd som är gruppläsbart, men inte gruppskrivbart eller tillgängligt för andra. 0660 kommer att skapa ett kodförråd som är läsbart och skrivbart för den aktuella användaren och gruppen, men oåtkomligt för andra (kataloger och körbara filer får sin x bit från r biten för motsvarande klasser av användare).

Som standard är konfigurationsflaggan receive.denyNonFastForwards aktiverad i delade kodförråd, så att du inte kan tvinga fram att skicka utan snabbspolning ("push") till dem.

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.

Exempelkrokar är inaktiverade som standard. För att aktivera en av dem, byt namn på den genom att ta bort suffixet .sample.

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

EXEMPEL

Starta ett nytt Git-kodförråd 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 kodförråd.

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