我正在努力将"git pull"的任务从bit-bucket服务器自动化到我的godaddy共享主机.我已经在Godaddy服务器上安装了Git,并能够从命令行远程"git clone","git pull"等.但现在我想写一个PHP代码直接从浏览器运行'git pull'.
PHP函数exec()可用于此,但来自bit-bucket的git pull需要密码.我在互联网上搜索了很多,但无法找到如何从PHP代码提供密码.
注意:我已尝试在2台服务器(Godaddy - Bitbucket)之间设置无密码身份验证,但它无法正常工作.所以我只留下上面的方法.
编辑:我已完成设置,现在只需点击一下即可更新godaddy服务器.但是,由于对Godaddy的服务器的限制,PHP代码部分对我不起作用.所以我创建了一个批处理脚本,对服务器和自动git pull命令进行无密码验证.以下是执行此操作的步骤(可能对任何有类似问题的人有帮助):http://abhisheksachan.blogspot.in/2014/04/setting-up-godaddy-shared-hosting-with.html
在网上进行大量搜索的结果是pre-checkoutgit 中的钩子还没有实现.原因可能是:
我的问题在于:
我已经实现了pre-commit,post-merge和post-checkout挂钩维护每个分支不同的数据库备份.
场景:现在我提交数据库的备份时使用pre-commithook 保存在文件中.当我签出分支或合并时,使用post-merge&post-checkouthooks 恢复存储在文件中的数据库.现在的情况是,如果有人在提交和签出后对数据库进行了更改,则更改将丢失,因为数据库未备份.结帐成功,因为文件结构没有变化.
所以在这种情况下我想要一个pre-checkout钩子来处理上面场景中备份数据库的任务.