如何创建一个git clone只供查看

时间:2011-06-22 22:38:46

标签: git git-branch git-bare

我们将git用作小型开发团队的VCS。我将主存储库作为一个裸git存储库保存在我们的服务器上。

管理层和没有参与项目的人员需要能够在不知道git的情况下查看代码和文档,因此我还在我们的服务器上保留了一个用于浏览的克隆。为了使克隆保持最新,我安装了一个钩子,只要有人提交到裸存储库,就会更新克隆的主分支。

问题在于:有些傻瓜总是进入浏览克隆并开始修改代码,导致主分支推送操作失败。我想找到一种方法来对这个克隆强制执行只读策略,或找出另一种方法来保持它是最新的。

3 个答案:

答案 0 :(得分:4)

处理这些情况的最佳方法是与有问题的傻瓜谈谈。

否则最简单的方法是简单地使用操作系统的权限系统,这样除了从裸存储库更新它的脚本之外,所有文件都是只读的。

您还可以重置 - 硬 git clean -f ,然后再从裸仓库中取出。

(哎呀,抱歉,脚本消失了2周的工作????)

答案 1 :(得分:3)

为什么不通过 gitweb cgit 或其他基于HTTP的存储库浏览界面提供访问权限?

https://git.wiki.kernel.org/index.php/Gitweb

答案 2 :(得分:0)

没有办法让git clone只读。有两种解决方法可以达到类似的效果。

一种方法是更改​​文件和文件夹的权限,以便它们是只读的。

我能想到的另一种方法是在服务器上使用权限系统 您可以使用gitolite来允许使用存储库对特定用户/组进行读写或只读访问。
这里有一个其他git管理软件列表:https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Access_control_.2F_Project_hosting