我的网络服务器上有一个现有目录,当前通过文件副本部署到,我想将其更改为使用 gitosis 进行部署。如何创建一个新的 gitosis 存储库以指向此 Web 目录,然后将其克隆到我的本地计算机?
2 回答
Gitosis 不适合用于网站部署,事实上,gitosis 现在大多被弃用,有利于 gitolite,但这也不能用于网站部署。
如果您想使用 git 进行网站部署,您应该使用专门设计的工具,在服务器上使用非裸(来自普通 git init/git clone)repo,或者使用裸(来自 git init --bare )在带有钩子的服务器上进行部署(网络上有许多不同的“howtos”可以做到这一点,但我个人认为它们中的大多数都很糟糕,不要以我认为“正确”的方式来做)。
虽然 Arrowmaster 说 Gitosis 已被贬低以支持 Gitolite 是正确的,但没有什么可以说你不能使用 git 进行 Web 部署,有很多人在这样做,包括我。您需要做的是以下,设置 Gitolite 并进行工作安装,您可以克隆、推送和拉入 Gitolite 将为您创建的存储库。然后只需在现有的 Web 目录中运行 git init ,然后运行 git add 即可。将所有文件添加到其中。然后,您将 gitolite 存储库添加为 git 远程和 git push master 到其中,以便您可以将其 git clone 到本地计算机 make 允许您进行更改并推送回实时站点。
本质上,您将拥有一个中心存储库(gitolite)和主要存储库(web 目录),它们将通过 git 内的钩子进行排列。我必须指出,虽然我不使用钩子并手动从实时机器上的 Gitolite(sudo git pull hub master)中拉出,因为我不愿意推送到实时站点以防万一我想到我忘记的东西.
我不相信这个设置,并且把所有的知识都归功于 Joe Maller 的指导性指南,尽管我显然已经将 git 换成了 Gitolite。
在搞砸了很长时间并在 Gitosis 方面取得了一些成功之后,我转而使用 Gitolite 并且没有回头。我发现它在推/拉权限部门中的错误更少且更稳定。
然而,我在设置 Gitolite 时确实遇到了一些问题,我非常感谢本教程向我展示了前进的道路。然而,它适用于 Centos,但应该很容易移植到 Ubuntu。
如果您确实决定采用 gitosis 路线,那么本教程可能会帮助您进行安装。
祝你好运。
海尔