Почему репозиторий .git не является частью какой-либо ветки? Когда я создаю новые git-хуки, они не отслеживаются внутри самого git?
Это специальный каталог, который Git игнорирует в репозитории, так как он содержит информацию о самом репозитории.
Так что нет, хуки, которые вы размещаете .git/hooks
, не отслеживаются в вашем проекте.
Однако вы можете, например, сделать следующее:
В вашем проекте создайте каталог хуков и разместите их здесь. Затем в .git/hooks
создайте хуки символическими ссылками, указывающими на те, что есть в вашем репо. Это будет выглядеть следующим образом:
├── .git
│ ├── config
│ ├── HEAD
│ ├── hooks
│ │ └── pre-commit -> ../../hooks/pre-commit
│ ├── objects
│ │ ├── info
│ │ └── pack
│ └── refs
│ ├── heads
│ └── tags
└── hooks
└── pre-commit
Таким образом, вы можете сохранить их версию в своем проекте.
Если вы хотите иметь больше глобальных хуков для использования в репозиториях, вы можете использовать шаблоны, я написал статью о том, как это настроить: https://www.ghislain-rodrigues.fr/articles/git-hooks-template.html
Каталог .git
является репозиторий.
Да, это на самом деле лучше сформулировано, спасибо.