首先在项目的管理那边配置部署公钥。这个那边有具体教程,不详细描述了。纪录下遇到的问题

根据提示,我配置了个web地址,接收用户push时候发送的数据,进行自动pull代码,代码如下

//token等验证
exec("cd /www/test;git pull 2<&1");

但是post数据过来的时候一直报错

sh git command not found

但是不对啊,服务器有配置git。

我搜了下git

which git
/usr/local/git/bin/git

我重新修改了下代码

//token等验证
exec("cd /www/test;/usr/local/git/bin/git pull 2<&1");

再次push试下,这回报错。

fatal: could not read Username for 'https://gitee.com': No such device or address

原来是没有记住密码。重新配置下服务器上的git配置。

git config --global user.name test
git config --global user.email 'test@test.com'
git config --global credential.helper store

此方法是可行的,但是我的还是不行。

后面参考资料搜索到可以通过更换origin地址来避免输入密码。修改项目目录下的.git/config的远程仓库地址

http://yourname:password@gitee.com/name/project.git # 按这种结构输入

再次push,终于可以了。

参考资料

HTTPS 方式接入码云保存密码的方式 2586)