1

正如我在 git 文档上阅读的那样,裸存储库有利于共享,非裸存储库有利于开发。
我正在设置一个开发服务器,它应该提供 SCM、Jenkins 并提供网页以进行一些手动测试。
为了提供 SCM,我使用GOGS创建裸存储库以在开发人员之间共享,我需要这些裸存储库以某种方式硬链接到 apache 文件夹(通常/var/www/http/)上的非裸存储库,并自动模仿裸存储库上的所有更改。

可能吗?

4

2 回答 2

1

提供 SCM 我使用 GOGS 创建裸存储库以在开发人员之间共享,我需要这些裸存储库以某种方式硬链接到 Apache 文件夹上的非裸存储库(通常/var/www/http/

这通常是通过 GOGS 管理的裸仓库中设置的接收后挂钩来完成的。
该脚本将是:

git --git-dir=/path/to/project_root/.git --work-tree=/var/www/http/ checkout -f

推送到那些裸仓库的任何提交都将在您的网站中可见。

于 2016-12-21T21:56:28.567 回答
1

要制作非裸仓库,git clone将裸仓库放到所需位置。

顺便说一句,我不建议在用于部署的同一位置进行开发。它最终会以非常不受欢迎的方式限制你。相反,构建一个小脚本来制作您的“部署包”,这是一个 tgz 或 zip 文件,其中包含需要在您的 Web 服务器中解压缩的项目。

于 2016-12-21T22:24:25.193 回答