українська мова ▾ Topics ▾ Latest version ▾ git-init last updated in 2.48.0

НАЗВА

git-init - Створити порожній Git-репозиторій або переініціалізувати існуючий

СИНОПСИС

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

ОПИС

Ця команда створює порожній репозиторій Git — по суті, каталог .git з підкаталогами для objects, refs/heads, refs/tags та файлів шаблонів. Буде створено початкову гілку без будь-яких комітів (див. її назву в опції --initial-branch нижче).

Якщо встановлено змінну середовища GIT_DIR, вона вказує шлях, який слід використовувати замість ./.git для бази репозиторію.

Якщо каталог для зберігання об’єктів вказано через змінну середовища GIT_OBJECT_DIRECTORY, то каталоги sha1 створюються під ним; в іншому випадку використовується каталог за замовчуванням $GIT_DIR/objects.

Запуск git init у існуючому репозиторії є безпечним. Він не перезапише те, що вже там є. Основною причиною повторного запуску git init є отримання щойно доданих шаблонів (або переміщення репозиторію в інше місце, якщо вказано --separate-git-dir).

ОПЦІЇ

-q
--quiet

Друкувати лише повідомлення про помилки та попередження; весь інший вивід буде пригнічено.

--bare

Створіть чистий репозиторій. Якщо середовище GIT_DIR не встановлено, воно встановлюється на поточний робочий каталог.

--object-format=<формат>

Вкажіть заданий об’єкт <format> (алгоритм хешування) для репозиторію. Допустимі значення: sha1 та (якщо ввімкнено) sha256. sha1 – значення за замовчуванням.

Примітка: Наразі немає сумісності між репозиторіями SHA-256 та репозиторіями SHA-1.

Історично ми попереджали, що репозиторії SHA-256 можуть пізніше потребувати змін, несумісних зі зворотною сумісністю, коли ми впроваджуватимемо такі функції сумісності. Сьогодні ми очікуємо лише сумісних змін. Крім того, якщо такі зміни виявляться необхідними, можна очікувати, що репозиторії SHA-256, створені за допомогою сучасного Git, можна буде використовувати в майбутніх версіях Git без втрати даних.

--ref-format=<формат>

Вкажіть задане сховище посилань <формат> для репозиторію. Допустимі значення:

  • files для окремих файлів із упакованими посиланнями. Це значення за замовчуванням.

  • reftable для формату reftable. Цей формат є експериментальним, і його внутрішня структура може бути змінена.

--template=<каталог-шаблонів>

Вкажіть каталог, з якого будуть використовуватися шаблони. (Див. розділ «КАТАЛОГ ШАБЛОНІВ» нижче.)

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

Замість ініціалізації репозиторію як каталогу з $GIT_DIR або ./.git/, створіть там текстовий файл, що містить шлях до фактичного репозиторію. Цей файл діє як символічне посилання Git на репозиторій, незалежно від файлової системи.

Якщо це повторна ініціалізація, репозиторій буде переміщено за вказаним шляхом.

-b <назва-гілки>
--initial-branch=<branch-name>

Використовуйте <назва-гілки> для початкової гілки у щойно створеному репозиторії. Якщо не вказано, поверніться до назви за замовчуванням (наразі master, але вона може бути змінена в майбутньому; назву можна налаштувати за допомогою змінної конфігурації init.defaultBranch).

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

Вкажіть, що репозиторій Git має бути спільним для кількох користувачів. Це дозволить користувачам, які належать до однієї групи, надсилати зміни до цього репозиторію. Якщо вказано, змінна конфігурації core.sharedRepository встановлюється таким чином, що файли та каталоги в $GIT_DIR створюються із запитуваними правами доступу. Якщо не вказано, Git використовуватиме права доступу, надані umask(2).

Опція може мати такі значення, за замовчуванням вона має значення group, якщо значення не вказано:

umask
false

Використовувати дозволи, що повідомляються umask(2). Значення за замовчуванням, коли --shared не вказано.

group
true

Зробіть групу репозиторію доступною для запису (і g+sx, оскільки група git може не бути основною групою всіх користувачів). Це використовується для послаблення дозволів безпечного значення umask(2). Зверніть увагу, що umask все ще застосовується до інших бітів дозволів (наприклад, якщо umask дорівнює 0022, використання group не скасує права читання для інших користувачів (які не входять до групи). Дивіться 0xxx, щоб дізнатися, як точно вказати дозволи репозиторію.

all
world
everybody

Те саме, що й group, але зробити репозиторій доступним для читання всім користувачам.

<perm>

<perm> — це тризначне вісімкове число з префіксом 0, і кожен файл матиме режим <perm>. <perm> перевизначить значення umask(2) користувачів (і не лише послабить дозволи, як це роблять group та all). 0640 створить репозиторій, який буде доступний для читання групою, але не для запису групою чи інших осіб. 0660 створить репозиторій, який буде доступний для читання та запису поточному користувачеві та групі, але недоступний для інших (каталоги та виконувані файли отримують свій біт x від біта r для відповідних класів користувачів).

За замовчуванням прапорець конфігурації receive.denyNonFastForwards увімкнено у спільних репозиторіях, тому ви не можете примусово надіслати туди дані без швидкого перемотування вперед.

Якщо ви вкажете <каталог>, команда виконується всередині нього. Якщо цей каталог не існує, його буде створено.

ДОВІДНИК ШАБЛОНІВ

Файли та каталоги в каталозі шаблону, назви яких не починаються з крапки, будуть скопійовані до $GIT_DIR після його створення.

Каталог шаблонів буде одним із наступних (по порядку):

  • аргумент, заданий за допомогою опції --template;

  • вміст змінної середовища $GIT_TEMPLATE_DIR;

  • змінна конфігурації init.templateDir; або

  • каталог шаблонів за замовчуванням: /usr/share/git-core/templates.

Каталог шаблонів за замовчуванням містить певну структуру каталогів, запропоновані «шаблони виключень» (див. gitignore[5]) та зразки файлів перехоплень.

За замовчуванням усі перехоплювачі зразків вимкнено. Щоб увімкнути один із перехоплювачів зразків, перейменуйте його, видаливши суфікс .sample.

Див. githooks[5] для отримання додаткової інформації про виконання хуків.

ПРИКЛАДИ

Створити новий Git-репозиторій для існуючої бази коду
$ cd /path/to/my/codebase
$ git init      (1)
$ git add .     (2)
$ git commit    (3)
  1. Створіть каталог path/to/my/codebase/.git.

  2. Додайте всі існуючі файли до індексу.

  3. Записати первозданний стан як перший коміт в історії.

КОНФІГУРАЦІЯ

Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:

Warning

Missing uk/config/init.adoc

See original version for this content.

GIT

Частина набору git[1]