Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions book/10-git-internals/sections/plumbing-porcelain.asc
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[[r_plumbing_porcelain]]
=== Сантехника и Фарфор
=== Сантехника и фарфор

В этой книге было описано, как пользоваться Git, применяя примерно три десятка команд, таких как `checkout`, `branch`, `remote` и так далее.
Но так как сначала Git был скорее инструментарием для создания системы контроля версий, чем самой VCS, удобной для пользователей, то в нём полно команд, выполняющих низкоуровневые операции, которые спроектированы так, чтобы их можно было использовать объединив в цепочку в стиле UNIX, а также использовать в скриптах.
Эти команды, как правило, называют служебными («plumbing» -- трубопровод), а ориентированные на пользователя называют пользовательскими («porcelain» -- фарфор).
Но так как сначала Git был скорее инструментарием для создания системы контроля версий, чем самой VCS, удобной для пользователей, то в нём полно команд, выполняющих низкоуровневые операции, которые спроектированы так, чтобы их можно было использовать, объединив в цепочку в стиле UNIX, а также использовать в скриптах.
Эти команды, как правило, называют _служебными_ («plumbing» -- трубопровод), а команды, ориентированные на пользователя, называют _пользовательскими_ («porcelain» -- фарфор).

Первые девять глав книги были посвящены в основном пользовательским командам.
В данной главе рассматриваются именно низкоуровневые служебные команды, дающие контроль над внутренними процессами Git и показывающие, как он работает и почему он работает так, а не иначе.
Expand All @@ -26,12 +26,12 @@ objects/
refs/
----

В зависимости от используемой версии Git, здесь могут присутствовать и другие файлы, но по умолчанию команда `git init` создаёт именно такое содержимое в каталоге `.git`.
В зависимости от используемой версии Git здесь могут присутствовать и другие файлы, но по умолчанию команда `git init` создаёт именно такое содержимое в каталоге `.git`.
Файл `description` используется только программой GitWeb, не обращайте на него внимание.
Файл `config` содержит специфичные для этого репозитория конфигурационные параметры, а в каталоге `info` расположен файл с глобальными настройкам игнорирования файлов (((исключения))) -- он позволяет исключить файлы, которые вы не хотите помещать в `.gitignore`.
В каталоге `hooks` располагаются клиентские и серверные хуки, подробно рассмотренные в разделе <<ch08-customizing-git#r_git_hooks>> главы 8.

Итак, осталось четыре важных элемента: файлы `HEAD` и `index` (ещё не созданный) и каталоги `objects` и `refs`.
Это ключевые элементы Git.
В каталоге `objects` находится база данных объектов Git; в `refs` -- ссылки на объекты коммитов в этой базе (ветки, теги и другие); файл `HEAD` указывает на текущую ветку, a в файле `index` хранится содержимое индекса.
Далее мы детально рассмотрим эти элементы, чтобы понять как работает Git.
Далее мы детально рассмотрим эти элементы чтобы понять, как работает Git.
Loading