首先在项目的管理那边配置部署公钥。这个那边有具体教程,不详细描述了。纪录下遇到的问题
根据提示,我配置了个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)