【发布时间】:2015-11-05 00:13:29
【问题描述】:
我的 Linux 服务器上有一个裸 git 存储库。本质上这是 git 服务器。
这台服务器也是我的网络服务器。裸 git 存储库用作多个开发人员的中心访问点。
但我也希望这个裸仓库为我的网络文件提供服务。
我不确定这是否可行,因为裸仓库似乎没有“正常”文件结构。所有文件都在对象文件夹中。
我在关注this documentation。
这是一个裸仓库的文件夹层次结构
简而言之,我的 git 服务器也可以是我的 web 服务器吗?
【问题讨论】:
-
Git 服务器不一定是裸仓库。如果您需要工作树,请定期进行回购。
-
这就是文档描述它的方式,但是他们没有描述“为什么”。那什么是裸回购呢?他们这样描述肯定是有原因的。
-
裸仓库是没有工作树的仓库。不多也不少。如果您不需要工作树(典型的 Git 服务器),请创建一个裸仓库。如果你需要一个工作树(你的 Git+HTTP 服务器),做一个常规的 repo。
-
对,但我刚刚找到另一个文档,该文档声明将裸仓库用于服务器。我认为原因之一是您无法直接在裸仓库中编辑文件。我认为最好的做法是坚持客户端-服务器开发模型,而不是客户端到客户端。
-
推送到非裸仓库不是一个好主意,因为它很丑陋,而且要保持一切干净和同步很麻烦。有一个技巧可以做到这一点,但是如果您是 git 新手,请不要这样做。如果你对 git 不陌生……还是不要;)