[英]Not being able to pull in a git hook (bash script)
我正在Ubuntu 12.04服務器上的網站上工作。 當我將代碼推送到我的網站時,我希望我的鈎子自動pull
代碼pull
到我的apache文件夾中。 以下命令將我的網站更新為資源庫的當前主站點,而沒有任何問題:
cd /var/www/www.foo.net
git pull
我post-update
掛鈎是應該自動執行的操作,但是每次我推送時都會遇到相同的錯誤。 請注意,每次推送均正確執行。 腳本看起來像這樣(不相關的代碼被省略):
#!/bin/bash
BRANCH=$(git rev-parse --symbolic --abbrev-ref $1)
case "$BRANCH" in
"somebranch")
echo "You are pushing to somebranch!"
cd /var/www/www.foo.net
pwd
git pull
;;
esac
在我看來,這看起來應該可行,尤其是考慮到調試輸出正是我期望的那樣。 但是,它不起作用。 我總是得到以下輸出:
remote: You are pushing to somebranch!
remote: /var/www/www.foo.net/
remote: fatal: Not a git repository: '.'
請注意,它如何報告它在正確的目錄中,並且如上所述,我能夠毫無問題地拉入該目錄。 /var/www/www.foo.net/
是一個git存儲庫。
我也嘗試使用( cd /var/www/www.foo.net/ ; git pull )
但無濟於事。 我也認為它與權限無關。 我正在使用Gitolite,並且能夠使用與Gitolite一起設置的帳戶來拉到本地存儲庫。
有任何想法嗎? 我一點都沒有喜悅。
如果/var/www/www.foo.net/是有效的git repo try
git --git-dir=/var/www/www.foo.net/.git --work-tree=/var/www/www.foo.net pull
這將導致FF拉動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.