首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置git hook over HTTP协议以在远程服务器上自动进行开发

如何设置git hook over HTTP协议以在远程服务器上自动进行开发
EN

Stack Overflow用户
提问于 2017-07-30 17:27:44
回答 1查看 180关注 0票数 3

我正在使用git进行版本控制,我想让git自动将任何协作者在release分支上推送的所有内容自动拉到远程服务器上,如果我想通过ssh执行此操作,我必须将所有协作者的ssh密钥添加到我的服务器中,但我不想让他们访问服务器,所以我想将这个git挂钩设置为HTTP,这样每个人都可以通过HTTP协议推送到远程服务器

到目前为止,我所做的是设置一个git挂钩,我使用Nginx作为web服务,并且我已经将git存储库放在

代码语言:javascript
运行
复制
/var/www/html/test_repo

我把我的git遥控器设置在本地计算机上,如下所示:

代码语言:javascript
运行
复制
git remote add test http://ServerIp/test_repo

但是它给了我这个错误:

代码语言:javascript
运行
复制
fatal: repository 'http://ServerIp/test_repo/' not found
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-30 23:31:58

您需要让您的NGiNX调用/usr/lib/git-core/git-http-backend,以便让git正确响应克隆/拉入命令。

例如,参见this answer:最好在URL路径中设置一个文件夹来跟踪git repos。

代码语言:javascript
运行
复制
    listen 80;
    server_name myhostname;
    access_log /var/log/nginx/git.access.log;
    error_log /var/log/nginx/git.error.log;
    gzip off;

    location ~ /git(/.*) {
      ...
    }

因此,即使fastcgi_param GIT_PROJECT_ROOT参数为/var/www/html,git存储库的URL也是http://ServerIp/git/test_repo

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45398341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档