git hook, автоматический checkout

git-logo-2color

В одном из проектов, где я использую git, в качестве bare репозитория совместно с коллегой, возникла необходимость в автоматическом checkout изменений кода в проекте, после выполнения git push на локальном репо.
Делается это просто, с помощью так называемых git hooks.
Все они находятся в директории git/hooks Вашего репо.

applypatch-msg.sample  commit-msg.sample  post-receive.sample post-update.sample  pre-applypatch.sample  pre-commit.sample  prepare-commit-msg.sample  pre-rebase.sample  update.sample

Можно посмотреть примеры хуков, но для решения нашей задачи, необходим хук post-receive, для этого скопируем его и поправим его код:

cp post-receive.sample post-receive
vim post-receive

приводим к виду:

GIT_WORK_TREE=/var/www/stat/site git checkout -f

После этих изменений, при push в репо, данные автоматически будут чекаутиться в проект.

Поделись с друзьями:

Опубликовано 15.11.2016 в 21:02 · Автор komivlad · Ссылка
Рубрики: ArchLinux, CentOS, Debain, Fedora, FreeBSD, Programming · Теги: , , , , , , , ,

2 комментария

Подписаться на комментарии по RSS

  1. Написал(-а) Антон
    15.11.2016 в 21:24
    Ответить · Ссылка

    Спасибо, очень помогла заметка!

Подписаться на комментарии по RSS

Написать комментарий