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.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' [-q | --quiet] [--bare] [--template=<каталог-шаблонов>] [--separate-git-dir <каталог-git>] [--object-format=<формат>] [--ref-format=<формат>] [-b <ветка> | --initial-branch=<ветка>] [--shared[=<права-доступа>]] [каталог]
ОПИСАНИЕ
Эта команда создаёт пустой репозиторий Git, то есть по существу только каталог .git с подкаталогами objects, refs/heads, refs/tags, и файлами шаблонов. Будет создана начальная ветка без коммитов (см. параметр --initial-branch для изменения её имени).
Если переменная среды GIT_DIR установлена, то она задаёт путь, который будет использоваться вместо .git в качестве базового пути для создания репозитория.
Если каталог хранения объектов задан с помощью переменной среды GIT_OBJECT_DIRECTORY, то каталоги с хеш-кодом sha1 будут создаваться в нём. В противном случае будет использоваться каталог по умолчанию, $GIT_DIR/objects.
Запускать 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 без потери данных.
-
--ref-format=<формат> -
Задаёт <формат> хранения ссылок репозитория. Допустимые значения:
-
files: ссылки хранятся в виде несвязанного набора файлов и файлаpacked-refs. Это формат по умолчанию. -
reftable: reftable-формат. Этот формат является экспериментальным, и его внутреннее устройство может измениться.
-
-
--template=<каталог-шаблонов> -
Задаёт каталог с шаблонами. (См. раздел «КАТАЛОГ ШАБЛОНОВ» ниже)
-
--separate-git-dir=<каталог-git> -
Вместо того, чтобы инициализировать репозиторий в
$GIT_DIRили в./.git/, создать текстовый файл, содержащий путь к реальному репозиторию. Этот файл будет выступать в роли независящей от файловой системы символической ссылки Git на этот репозиторий.Если это повторная инициализация, то репозиторий будет перенесён в каталог по указанному пути.
-
-b<имя-ветки> -
--initial-branch=<имя-ветки> -
Использовать <имя-ветки> для исходной ветки вновь созданного репозитория. Если не указано, будет использован параметр по умолчанию (в настоящее время — это «
master», но это может быть изменено в будущем; это имя можно изменить в переменной конфигурации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, но также сделать репозиторий доступным на чтение для всех пользователей. - <права-доступа>
-
<права-доступа> — это 3-значное восьмеричное число с префиксом
0; каждый файл будет иметь режим доступа равный <правам-доступа>. Значение <прав-доступа> будет полностью перекрывать значениеumask(2) пользователя (а не только ослаблять разрешения как это происходит сgroupиall). Так,0640создаст репозиторий, доступный группе на чтение, но не на запись или на исполнения для всех остальных;0660— доступный на чтение и запись текущему пользователю и его группе, но недоступный для остальных (каталоги и исполняемые файлы получат свой битxпри указанииrдля соответствующих классов пользователей).
-
В общих репозиториях флаг конфигурации receive.denyNonFastForwards по умолчанию включён, так что вы не cможете принудительно отправить в него (git push -f) изменения, которые не могут быть применены с помощью быстрой перемотки.
Если вы задали <каталог>, команда будет выполняться внутри него. Если этот каталог ещё не существует, он будет создан.
КАТАЛОГ ШАБЛОНОВ
Файлы и каталоги, из каталога шаблонов, чьи имена начинаются не с точки будут скопированы в $GIT_DIR после того, как он будет создан.
В качестве каталога шаблонов будет использоваться один из следующих (в порядке перечисления):
-
аргумент, указанный в параметре
--template; -
значение переменной среды
$GIT_TEMPLATE_DIR; -
переменная настройки
init.templateDir; или -
каталог шаблонов по умолчанию:
/usr/share/git-core/templates.
Каталог шаблонов по умолчанию уже содержит некоторую структуру каталогов: рекомендованные «шаблоны исключений» (exlude patterns, см. gitignore[5]) и примеры файлов-перехватчиков (hook).
Примеры файлов-перехватчиков по умолчанию отключены. Чтобы включить один из них, переименуйте его, удалив суффикс .sample.
См. подробности того, как происходит вызов перехватчиков в githooks[5].
КОНФИГУРАЦИЯ
Дальнейшее содержание этого раздела, повторяет то, что может быть найдено в git-config[1]:
|
Warning
|
Missing See original version for this content. |
GIT
Является частью пакета git[1]