gpt4 book ai didi

git - 如何使用自托管的 git 服务器作为生产服务器?

转载 作者:太空狗 更新时间:2023-10-29 14:01:01 24 4
gpt4 key购买 nike

我正在开发一个网站,并使用我自己的笔记本电脑作为开发服务器,同时使用我的在线服务器作为生产服务器。我正在使用 git 来管理我的项目。

我以前使用过 heroku,我认为仅使用 git push heroku master 发布我的网站真的很酷,所以我打算自己构建一个。

所以,这就是我所做的,我在我的生产服务器上设置了 git(使用 gitosis 来管理访问),并且在我的 git 存储库上,我使用了 git remote add git@production: myrepo.git 为 git repo 添加远程。

问题是如何抓取生产服务器上的代码?生产服务器充当 git 服务器,所以我只能获取 .git 文件夹而不是真正的代码。我想到了一个技巧,就是用git clone --local myrepo.git myrepo 克隆生产服务器上的数据,在myrepo.git的hooks/文件夹下,我编辑了post-receive 文件如下:

#!/bin/sh
touch /tmp/do-we-got-here
cd /path/to/clone/myrepo
/usr/bin/git pull

在我使用 git push production master 之后,do-we-got-here 文件被创建,所以我可以知道 post-receive Hook 正在工作,但是git pull 部分不起作用,当我进入 myrepo 文件夹并使用 git pull 时,它仍在从 myrepo.git 中 pull 。

所以我想知道如何处理这个问题?我知道这是可能的,因为像 heroku 这样的托管网站正在运行!但问题是如何?

最佳答案

我遇到了类似的问题,这对我有帮助。

#!/bin/sh
touch /tmp/do-we-got-here
cd /path/to/clone/myrepo
unset GIT_DIR
git pull

当运行 git hook 时,GIT_DIR 被设置。这意味着您的 pull 不会与您更改到的目录中的第二个存储库一起运行。

关于git - 如何使用自托管的 git 服务器作为生产服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com