尝试在共享驱动器上使用 git 存储库,但无法使用 apache 或 windows 资源管理器访问文件

Trying to use a git repo on a share drive but cannot access files with apache or windows explorer

设置:

我正在使用 codeigniter 和 xampp,apache 设置没有问题,端口是打开的,我可以从本地网络上另一台计算机的浏览器访问 xampp 默认仪表板没有问题.已通过 Cygwin 设置 SSH,启用 https。

我想做什么:

我正在尝试在托管内部网站的主机可以访问的共享驱动器上设置一个 git 存储库。理想情况下,网站文件将存储在共享驱动器上,并在收到显示页面的请求时由主机访问。我希望这些文件成为我和同事可以推送和拉取 to/from 的 git 存储库的一部分。我知道您可以设置一个 git 服务器,但我正在尝试寻找一个更快、更简单的解决方案。

到目前为止我做了什么:

-在共享驱动器 R:\Data\db

上创建了一个裸存储库

-通过 windows 资源管理器打开存储库并看到 git 存储库文件(hook、info、ref 等)size:1.54 MB

-将裸存储库克隆到我的计算机

-在我的计算机上使用 CodeIgniter 填充存储库,提交并推送到共享驱动器存储库 R:\Data\db(无错误)(16.2 MB)

-通过 windows 资源管理器再次打开存储库,但没有添加文件,repo on share 仍然是 1.54 MB R:\Data\db

-转到主机,将共享存储库从 R:\Data\db 克隆到它的硬盘上,然后神奇地从某个地方拉下了 CodeIgniter 文件。 (16.2MB)

-再次检查了共享驱动器,仍然没有文件,只有基本的回购文件

-通过 apache 设置 httpd conf 以在 R:\Data\db\CodeIgniter 中查找共享驱动器文件,无论大小写,Apache 都无法重新启动,因为它找不到该目录。

-据我所知,我已经正确设置了 "net use r: \server-path\drive-name",它必须是正确的,因为我能够首先创建空白存储库。

问题

repo 存在于某处,我可以从多台计算机访问它,我使用的是正确的服务器目录路径(除非我不是,但那在另一个层面上很混乱),但是 apache 找不到文件,windows explorer 也找不到。我有点疯狂地想弄清楚这个问题,有人知道问题出在哪里吗?

好的。想通了。

因此神奇地存储文件的裸仓库位于 R:\Data\db。

然后我将该 Repo 克隆到 R:\Data\website(文件再次神奇地 [或者正如我在大量学习中发现的那样,并不那么神奇地] 出现了)。所以克隆回购是在 R:\Data\website\db

接下来,我在 R:\Data\db\hooks 的 --bare 仓库中创建了一个钩子,post-receive 种类如下:

#!/bin/sh

echo attempting auto update...
GIT_WORK_TREE=R:/Data/website/db git checkout -f

我用“.exe”扩展名 (post-receive.exe) 保存了它,在本地驱动器上的回购中添加了一个随机文本文件,然后像往常一样从我的计算机推送到 R 上的回购: \Data\db.

挂钩已触发,R:\Data\website\db 中的文件已更新为包含随机文本文件!呜呜呜!

我将 apache 的 httpd.conf 文件的 DocumentRoot 指向 R:\Data\website\db,服务器现在可以正确显示网页了!每一次推送都反映在工作产品中!

感谢这些来源:

http://toroid.org/git-website-howto

https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks