Копировать неверсионный файл после git push - PullRequest
2 голосов
/ 08 октября 2011

У меня есть локальный репозиторий, в котором я работаю ежедневно, и удаленный «голый» репозиторий, куда я отправляю свой результат.Я хотел бы после каждого нажатия копировать некоторые локальные файлы, которые не находятся под контролем версий (например, файлы .exe и .dll), в отдельный каталог (например, каталог bin) на одном сервере, возможно ли это?Я пробовал с хуками, но они работают на стороне сервера, поэтому я не знаю, как определить, где находятся файлы для копирования.

1 Ответ

2 голосов
/ 08 октября 2011

Git-хуки не обязательно "на стороне сервера" - вы можете иметь хуки в любом репозитории. Тем не менее, нет ловушки, которая запускается специально после того, как вы сделали git push из хранилища. Что-то, что может быть достаточно близко, это хук post-commit, так что каждый раз, когда вы создаете коммит локально, вы можете скопировать файлы .exe и .dll в отдельный каталог.

Однако, если вы действительно хотите копировать после нажатия, самым простым решением может быть установка псевдонима git. Например, если вы делаете:

git config alias.push-and-copy \
    '!sh -c "git push origin master && cp *.dll *.exe ~/bin"'

... вы можете просто сделать:

git push-and-copy

... в вашем хранилище, и файлы будут скопированы, если отправка прошла успешно. (Я не проверял этот псевдоним, но думаю, что это правильно.)

...