没有用户的Git远程服务器非裸机

时间:2012-06-11 13:33:09

标签: git push git-bare

好的,看看这个。我有一个安装了git的mac osx服务器。我们用它来进行项目合作。我们想要的是能够推送到服务器上的非裸存储库,以便我们可以查看其上的网站。问题是,非裸存储库的用户已检出主服务器,因此无法推送到主服务器。

我找到工作的唯一方法是推送到另一个分支然后将其合并到主分支中,这非常耗时且无聊。

那么,有没有办法推送到远程服务器上的主分支,并能够在服务器上查看网页?

1 个答案:

答案 0 :(得分:1)

处理此问题的一种常见方法是使用一个带有挂钩的裸存储库,该挂钩将HEAD签出到正确的目录as described here。从本质上讲,您将创建一个post-receive钩子:

GIT_WORK_TREE=/var/www/whatever git checkout -f

然后您只需推送到裸存储库即可进行部署。这种方法优于推送到非裸存储库,而不是.git下的/var/www/whatever目录,只是项目中的文件。