Голое и не голое репо на сервере
Я хочу отслеживать каталоги и файлы, хранящиеся на сервере. Первоначальная идея заключалась в том, чтобы создать пустой репозиторий на сервере, а затем отправлять и извлекать файлы с локальных компьютеров (где хранятся не пустые репозитории). Проблема в том, что обновленные файлы должны присутствовать на сервере.
Первоначально я сосредоточился на настройке непроигранного репо на сервере и извлечении из голого репо, но это потребовало бы, чтобы кто-то git pull
каждый раз, когда пуш сделан с локальной машины. У меня вопрос: возможно ли настроить "голые" и "не голые" репозитории таким образом, чтобы я мог вносить изменения в код на локальном компьютере, передавать эти изменения и автоматически размещать их на сервере. Если необходимо не-голое репо на стороне сервера, возможно ли заблокировать пуш от него?
1 ответ
Вместо того, чтобы использовать git pull
можно ли вручную на сервере использовать хуки на стороне сервера? Это можно использовать, чтобы каким-то образом инициировать извлечение не-пустого хранилища на сервере.
Крюк получения сообщения может быть что-то вроде
#!/bin/bash
unset GIT_DIR
git -C /path/to/non/bare/repo pull
Другой вариант, если вы можете позволить себе некоторую задержку в обновлении непервого хранилища на стороне сервера, - это использовать cron-job для периодического извлечения из пустого хранилища.