好的,看看这个。我有一个安装了git的mac osx服务器。我们用它来进行项目合作。我们想要的是能够推送到服务器上的非裸存储库,以便我们可以查看其上的网站。问题是,非裸存储库的用户已检出主服务器,因此无法推送到主服务器。
我找到工作的唯一方法是推送到另一个分支然后将其合并到主分支中,这非常耗时且无聊。
那么,有没有办法推送到远程服务器上的主分支,并能够在服务器上查看网页?
答案 0 :(得分:1)
处理此问题的一种常见方法是使用一个带有挂钩的裸存储库,该挂钩将HEAD
签出到正确的目录as described here。从本质上讲,您将创建一个post-receive
钩子:
GIT_WORK_TREE=/var/www/whatever git checkout -f
然后您只需推送到裸存储库即可进行部署。这种方法优于推送到非裸存储库,而不是.git
下的/var/www/whatever
目录,只是项目中的文件。