首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用自托管git服务器作为生产服务器?

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

Stack Overflow用户
提问于 2013-03-15 22:30:37
回答 1查看 316关注 0票数 3

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

我以前用过heroku,我认为简单地用git push heroku master发布我的网站真的很酷,所以我计划自己建一个。

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

问题是如何获取生产服务器上的代码?生产服务器充当git服务器,因此我只能获取.git文件夹,而不能获取真正的代码。我想了一个诀窍,那就是使用git clone --local myrepo.git myrepo克隆生产服务器上的数据,并在myrepo.git的钩子/文件夹中编辑post-receive文件,如下所示:

代码语言:javascript
复制
#!/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钩子正在工作,但是git pull部分不工作,当我到达myrepo文件夹,并使用git pull时,它仍然是从myrepo.git拉取的。

所以我想知道如何处理这件事?我知道这是可能的,因为像heroku这样的托管网站正在工作!但问题是如何实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-15 22:50:19

我也遇到过类似的问题,这对我很有帮助。

代码语言:javascript
复制
#!/bin/sh
touch /tmp/do-we-got-here
cd /path/to/clone/myrepo
unset GIT_DIR
git pull

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

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

https://stackoverflow.com/questions/15434972

复制
相关文章

相似问题

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