Ответ 1
Наиболее практичный способ - заставить пользователей запускать определенную команду, а не указывать им сначала удалить ловушку, а затем выполнить команду git init
В этом случае одним из возможных способов будет распространение среди этих пользователей скрипта, который делает именно это (вы можете создать версию этого скрипта в каждом репо).
Вместо того, чтобы делать git init
напрямую, они вызывали бы этот скрипт, который бы:
- снимите крючки
- позвоните в
git init --template=
Но остерегайтесь пути, который вы используете с опцией --temaplate.
Относительный pathname
дан "git init --template=<path> <repo>
"
должен быть относительно каталога, в котором вызывается "git init
",
но вместо этого он был сделан относительно хранилища, которое было
исправлено с помощью Git 2.22.1 (Q2 2019).
См. коммит e1df7fe (10 мая 2019 года) Нгуен Тай Нгук Дуй (pclouds
).
(Merged by Junio C Hamano -- [TG46] -- in commit 35d7715, 25 Jul 2019)
init: сделать путь
--template
относительно$CWD
Во время
git-init
мыchdir()
в целевой каталог, но--template
не настроен.
Так что это относится к целевому каталогу, а не к текущему каталогу.Было бы хорошо, если бы это было задокументировано, но
--template
вgit-init.txt
ничего не упоминает об этом поведении.
Измените его на$CWD
, что гораздо более интуитивно понятно.