Git分支主内容对非git用户

时间:2015-10-28 22:01:58

标签: git

在我的工作组中,我们是四位开发人员,我们通常会在我们的PC上使用我们的git repos工作,并且我们将我们的mod推送到存储在RAID服务器中的裸git存储库。

现在,我们遇到了一个问题,因为我们有几个同事需要查看存储在服务器存储库中的文件(只是一个读访问权限),但他们甚至不知道git是什么意思,他们只是想使用samba连接到服务器以访问数据。

不幸的是,在文件夹视图中查看的裸存储库只包含.git文件夹,对它们来说没用。所以我们尝试在非裸机中转换存储库,但是这样我们在将mod转换到服务器存储库时遇到了问题,因为必须检出master才能查看,如果签出则锁定为push ..

您对此问题有任何提示吗?

1 个答案:

答案 0 :(得分:0)

嗯,这是一个非常简单的解决方案:创建一个非裸露的反射存储库,每当主裸存储库收到所选分支中的更改时,它就会自动更新(我想,master)。

反射存储库应该与主存储库位于同一个工作站中,如果它将驻留在同一个文件系统上以保留空间和加速操作,那就很好。

您需要使用git hooks,尤其是主要的post-receive挂钩(裸仓)。使钩子从主repo到反射获取更新的更改,然后将工作树更新为选定的分支,如下所示:

#!/bin/sh -e

cd /path/to/reflection/repo
unset GIT_DIR
git fetch
git reset --hard origin/master