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.53.0 no changes
-
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=<формат> -
Вкажіть <формат> для обʼєктів (алгоритм хешування) репозиторію. Допустимі значення:
sha1та (якщо увімкнено)sha256.sha1є стандартним значенням.Примітка: Наразі немає зворотної сумісності між репозиторіями SHA-256 та репозиторіями SHA-1.
Зазвичай, ми попереджали, що репозиторії SHA-256 можуть пізніше потребувати змін, що впливають на зворотню сумісність, коли ми впроваджуватимемо такі функції сумісності. Сьогодні ми очікуємо лише сумісних змін. Крім того, якщо такі зміни виявляться необхідними, можна очікувати, що репозиторії SHA-256, створені за допомогою сучасного Git, можна буде використовувати в майбутніх версіях Git без втрати даних.
-
--template=<тека-шаблонів> -
Вкажіть теку, в якій знаходяться шаблони для використання. (Див. розділ «ТЕКА ШАБЛОНІВ» нижче.)
-
--separate-git-dir=<git-dir> -
Замість ініціалізації репозиторію як теки з
$GIT_DIRабо./.git/, створює текстовий файл, що містить шлях до фактичного репозиторію. Цей файл діє як символічне посилання Git на репозиторій, незалежно від файлової системи.Якщо це повторна ініціалізація, репозиторій буде переміщено за вказаним шляхом.
-
-b<назва-гілки> -
--initial-branch=<назва-гілки> -
Використовувати <назву-гілки> для початкової гілки у щойно створеному репозиторії. Якщо не вказано, використовується стандартна назва (наразі
master, але зміниться наmainпісля виходу Git 3.0). Стандартну назву гілки можна вказати за допомогою змінної конфігураціїinit.defaultBranch. -
Визначає, що репозиторій Git має бути спільним для кількох користувачів. Це дозволить користувачам, які належать до однієї групи, надсилати зміни (
push) до цього репозиторію. Якщо вказано, змінна конфігурації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, але робить репозиторій доступним для читання всім користувачам. - <права-доступу>
-
<права-доступу> — це тризначне вісімкове число з префіксом
0, кожен файл матиме <права-доступу. <права-доступу> перевизначають значенняumask(2) користувачів (і не лише послабить дозволи, як це роблятьgroupтаall).0640створить репозиторій, який буде доступний для читання групою, але не для запису групою чи іншим особам.0660створить репозиторій, який буде доступний для читання та запису поточному користувачеві та групі, але недоступний для інших (теки та виконувані файли отримують свій бітxвід бітаrдля відповідних класів користувачів).
-
Типово прапорець конфігурації receive.denyNonFastForwards увімкнено у спільних репозиторіях, тому ви не можете примусово надіслати туди дані без переходу вперед (fast-forward).
Якщо ви вкажете <теку>, команда виконується в ній. Якщо теки не існує, її буде створено.
ТЕКА ШАБЛОНІВ
Файли та теки в теці шаблону, назви яких не починаються з крапки, будуть скопійовані до теки $GIT_DIR після її створення.
Текою шаблонів буде одне з наступного (за порядком):
-
аргумент, заданий за допомогою опції
--template; -
вміст змінної середовища
$GIT_TEMPLATE_DIR; -
змінна конфігурації
init.templateDir; або -
стандартна тека шаблонів:
/usr/share/git-core/templates.
Стандартна тека шаблонів містить певну структуру тека, запропоновані «шаблони виключень» (див. gitignore[5]) та зразки файлів гачків.
Типово усі зразки гачків вимкнено. Щоб увімкнути один зі зразків гачків, перейменуйте його, видаливши суфікс .sample.
Див. githooks[5] для отримання додаткової інформації про виконання гачків.
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
-
init.templateDir -
Вкажіть теку, з якої будуть скопійовані шаблони.
-
init.defaultBranch -
Дозволяє перевизначити назву стандартної гілки, наприклад, під час ініціалізації нового репозиторію.
-
init.defaultObjectFormat -
Дозволяє перевизначати стандартний формат обʼєктів для нових репозиторіїв. Див.
--object-format=у git-init[1]. Як параметр командного рядка, так і змінна середовищаGIT_DEFAULT_HASHмають пріоритет над цією конфігурацією. -
init.defaultRefFormat -
Дозволяє перевизначити стандартний формат зберігання посилань для нових репозиторіїв. Див.
--ref-format=у git-init[1]. Як параметр командного рядка, так і змінна середовищаGIT_DEFAULT_REF_FORMATмають пріоритет над цією конфігурацією.
GIT
Частина набору git[1]