git 中 post-receive 執(zhí)行git pull不生效問題

背景

工程中要實現(xiàn)一個需求,客戶端git push后代碼能夠直接部署到服務器的目錄中。

實現(xiàn)方式

可以利用git的hooks中的post-receive來實現(xiàn)代碼提交后動作,post-receive中配置如下:

#!/bin/sh
cd /www/myproject  #切換到服務器工程目錄
git pull     #拉取代碼

但是上面代碼git pull并沒有生效,網上找了下原因,后面發(fā)現(xiàn) git 的鉤子在運行的時候會調用 GIT_DIR 這個環(huán)境變量,而不是PWD 這個。所以在 git pull 的時候提示 Not a git repository: ‘.’ ,其中 “.” 正是 GIT_DIR 這個環(huán)境變量的值。針對這個問題修復了下腳本代碼:

#!/bin/sh  
cd /www/myproject/  
unset GIT_DIR   #重要的是這里  
git pull 

然后就生效了。。。。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容