Próbuję skonfigurować Gita do przetaktowania mojej witryny, aby móc git pull
uzyskać aktualną wersję do pracy lokalnie, a następnie git push
, aby przesłać zmiany do zdalnego serwera. Mam go skonfigurowany tak, że działa tak, jak chcę, ale po naciśnięciu, muszę ręcznie uruchomić git checkout -f
lub git reset --hard HEAD
na serwerze zdalnym.Git Hook post-Receive dla witryny WWW
Próbowałem umieścić je w skrypcie powłoki jako haczyku po otrzymaniu na serwerze, ale po prostu nie wydaje się mieć żadnego wpływu. Wiem, że skrypt jest uruchomiony, ponieważ widzę komunikat "Zmiany przekazane do serwera" po tym, jak pchnę. Oto po otrzymać haczyk:
#!/bin/sh
git reset --hard HEAD
echo "Changes pushed to server."
@VonC: Najważniejsza część [Twoja odpowiedź] (http://stackoverflow.com/ pytania/3838727/git-post-receive-hook-for-website-staging/3838796 # 3838796) został napisany głównie w języku 'bash', podczas gdy downvoter zapewnił zapewne jego rodzimy;) – takeshin