Как я могу скопировать .git / hooks / pre-receive в главную ветку (репозиторий сервера настроен на linux)?
Войдите на сервер linux.Скопируйте файл в соответствующий каталог.Если вам нужна передача файла, используйте любой механизм, который вы настроили для этой цели (ftp, ssh, файловые серверы и т. Д.).
Есть ли какие-либо параметры конфигурации, которые автоматически игнорируются .git?Могу ли я это изменить?
Нет.По замыслу ни одна часть папки .git
не является общей для push / pull.То, что крючки включены в это наиболее определенно преднамеренно.Это не конфигурация;это дизайн git.
Возможно, вы можете перепутать git, играя каким-то образом с переменной окружения "git directory", но если когда-нибудь будет показано, что это каким-то образом записывается в каталог метаданных сервера, этобудет считаться эксплойтом, а не изменением конфигурации, и скоро будет исправлен git, чтобы предотвратить это.(Вероятно, это уже невозможно сделать, но кто знает, что можно найти, любуясь на краях системы ...?)
.git / hooks / pre-receive должен существовать в masterрепозиторий только потому, что он запускается сервером, когда выполняется git push
Что является такой же веской причиной, как любая, что вы не можете push
отправить его на сервер;это подразумевает, что он существует и на клиентах.
Кстати, исходный репозиторий условно называется origin
, а не master
.master
относится к имени по умолчанию для ветви по умолчанию и существует во всех репозиториях.Хотя все это настраивается, использование терминов обычным способом целесообразно для обеспечения четкого понимания связи.