Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.52.0 2025年11月17日
- 2.48.1 → 2.51.2 no changes
- 2.48.0 2025年01月10日
- 2.47.1 → 2.47.3 no changes
- 2.47.0 2024年10月06日
- 2.45.1 → 2.46.4 no changes
- 2.45.0 2024年04月29日
- 2.44.1 → 2.44.4 no changes
- 2.44.0 2024年02月23日
- 2.43.1 → 2.43.7 no changes
- 2.43.0 2023年11月20日
- 2.42.1 → 2.42.4 no changes
- 2.42.0 2023年08月21日
- 2.38.1 → 2.41.3 no changes
- 2.38.0 2022年10月02日
- 2.35.1 → 2.37.7 no changes
- 2.35.0 2022年01月24日
- 2.30.1 → 2.34.8 no changes
- 2.30.0 2020年12月27日
- 2.29.1 → 2.29.3 no changes
- 2.29.0 2020年10月19日
- 2.28.1 no changes
- 2.28.0 2020年07月27日
- 2.27.1 no changes
- 2.27.0 2020年06月01日
- 2.21.1 → 2.26.3 no changes
- 2.21.0 2019年02月24日
- 2.13.7 → 2.20.5 no changes
- 2.12.5 2017年09月22日
- 2.10.5 → 2.11.4 no changes
- 2.9.5 2017年07月30日
- 2.5.6 → 2.8.6 no changes
- 2.4.12 2017年05月05日
- 2.3.10 no changes
- 2.2.3 2015年09月04日
- 2.1.4 no changes
- 2.0.5 2014年12月17日
НАЗВА
git-init - Створити порожній Git-репозиторій або переініціалізувати існуючий
СИНОПСИС
gitinit[-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). -
Вкажіть, що репозиторій 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)
-
Створіть каталог
path/to/my/codebase/.git. -
Додайте всі існуючі файли до індексу.
-
Записати первозданний стан як перший коміт в історії.
-
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
Missing uk/config/init.adoc
See original version for this content.
GIT
Частина набору git[1]