обновить локальный голый репозиторий A после нажатия из другого репозитория B на удаленный C

Я не могу найти какой-либо крючок, который вызывается из репозитория B (выполняет сценарий bash на B), если я нажимаю от B до удаленного репо C. Я хочу предпринять некоторые действия после нажатия - я хочу cd на другое голое репо A на том же машина, как B, и выполняет выборку с удаленного C. Я могу написать сценарий, обертывающий git push, cd, git fetch, но в идеале я хотел бы выполнить cd, fetch from hook.

Я нахожусь в B (A и B находятся на одной машине, я работаю в B и нажимаю на удаленный C, A отслеживает C, поэтому я хочу вставить в него cd и получить / сбросить C на голый A)

исполнено в репо Б:

#!bin/sh
git push
echo "updating A repository"
cd /A/project.git && git fetch origin master:master && git reset --soft

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


person 4pie0    schedule 08.04.2014    source источник
comment
Ознакомьтесь с stackoverflow.com/questions / 1797074 /   -  person photoionized    schedule 09.04.2014
comment
ну, хотя у меня нет мгновенного ответа на этот конкретный вопрос, я хотел бы спросить, решит ли git new-workdir вашу настоящую проблему? (git-new-workdir скрипт можно найти в git contribs)   -  person user3159253    schedule 09.04.2014
comment
Ну, я бы нажимал не от B до C, а затем выбирал от C до A. Я бы нажимал от B до A, а затем от A до C на A post-receive   -  person user3159253    schedule 09.04.2014
comment
это было бы нормально, но A - это голое репо, могу ли я нажать на голое репо?   -  person 4pie0    schedule 09.04.2014
comment
почему нет? У голых репозиториев нет рабочего дерева и, следовательно, текущей ветки. В остальном это обычное хранилище со всеми тонкостями.   -  person user3159253    schedule 09.04.2014