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.48.1 → 2.51.0 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
[-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 без втрати даних.
-
--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-config[1]. Вміст такий самий, як і там:
Warning
|
Missing See original version for this content. |
GIT
Частина набору git[1]