windows下gitee WEBHOOK的坑...

折腾到凌晨五点,依然没有实现 windows下 分支  push之后服务器自动部署

主要是因为GIT的helper的配置上的问题。最后果断放弃了,最后祭出大招,用

WINDONS命令行自动循环。。60秒自动pull一次 实现的自动部署。。

不过在WINDONWS下实现有点麻烦,主要是因为credentials-manager的原因,WINDOWS下才有这个鬼玩意儿。

使用PHP 执行 exec("git pull") 

的时候 会发现进程中多了一个credentials-manager的进程,这个时候PHP的页面是卡死状态,其实这个时候是GIT让credentials-manager交出登陆到远程仓库的账号密码

不过我本地试了很多次,依然是卡死状态。也无法设定他的账号和密码。。

虽然最终放弃了这个办法,但还是把我的理解做个纪念,方便以后大家解决这个问题

首先这个问题是因为git helper 引起的

那么git helper到底是什么鬼

简单讲 就是当我们执行push pull 的时候 git会要求我们输入账号密码

密码账号都正确后 ,git helper 会记录下来,下次再push pull的时候 git 会调出helper里面存储的账号和密码

但!git helper 是可以第三方实现的。。在windows下git 默认的helper是credentials-manager,这东西是微软实现的

其实你可以改成credentials-store..

但一直没改成功。。也没法删除credentials-manager 所以这就鬼扯了,php一旦执行exec("git pull")  credentials-manager 就是不交出账号和密码,一直卡死。。

 最后放出 我用的批处理

以下代码 保存为cmd文件 放在项目的根目录,运行即可。每分钟执行一次git pull

@echo off  
:s
choice /t 60 /d y /n
git pull
goto s

各种大兄弟一脸蒙蔽。。

https://segmentfault.com/a/1190000009232433

 https://www.cnblogs.com/volnet/p/git-credentials.html

http://www.cnblogs.com/ballwql/p/3462104.html

关于指定GIT 使用helper

https://blog.csdn.net/u012163684/article/details/52433645

关于GIT的设定这里有介绍

https://git-scm.com/docs/git-credential-store

原文地址:https://www.cnblogs.com/cfas/p/8636310.html