У меня есть этот простой hook on/hooks/post-update внутри открытого репозитория:
#!/bin/sh
git-update-server-info
GIT_WORK_TREE=/home/user/apps/application-site/dev git checkout -f develop
GIT_WORK_TREE=/home/user/apps/application-site/dev git submodule update --init
GIT_WORK_TREE=/home/user/apps/application-site/master git checkout -f master
GIT_WORK_TREE=/home/user/apps/application-site/master git submodule update --init
В репозитории есть некоторые подмодули, которые, как я ожидаю, нажимают на производственный сервер и проверяют два ветки на двух каталогах, поэтому я могу позже создать dev.myapp.com для ветки разработки и www.myapp.com для главная ветвь, и все это обновление также подмодулей на ветвях.
Checkout работает как ожидалось, но не обновление подмодуля --init,: '(
Удаленный выход вызывает ошибки.
remote: Switched to branch 'develop'
remote: You need to run this command from the toplevel of the working tree.
remote: Switched to branch 'master'
remote: You need to run this command from the toplevel of the working tree.
Я не совсем уверен, что делать.