Автоматически обновлять локальный репозиторий github при смене главной ветки - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть хранилище github, которое существует на нескольких разных хостах. Я пытаюсь выяснить, есть ли какой-нибудь способ, чтобы два хоста автоматически вытаскивали любые новые изменения в основную ветку, без необходимости входить в систему и самостоятельно вводить команды pull, в то же время мне все еще нужно быть в состоянии сделать sh изменения от этих хостов в редких случаях.

Из того, что я видел, я считаю, что я должен смотреть на что-то с помощью Hooks, но мне трудно понять, как они работают. Кажется, что серверная post-receive может быть то, что я ищу, но не уверен.

У кого-нибудь есть опыт работы с этим?

1 Ответ

1 голос
/ 11 февраля 2020
Хуки

Git позволят вам выполнить дополнительные действия после выполнения команды git pull, но не будут периодически запускать git pull. Я рекомендую использовать что-то вне git для этого регулярного вытягивания. Запись cron для этого выглядела бы примерно так:

* * * * * cd /my/directory/path && git pull >> /var/log/gitcron.log 2>&1  # Pull gitrepo every minute, logging output to /var/log/gitcron.log

Имейте в виду, если у вас настроено регулярное вытягивание, подобное этому, ребаз или что-то еще, что переписывает историю в вашей целевой ветке, вызовет машина с хроном должна быть в сломанном состоянии без ручного вмешательства.

...