`
wbj0110
  • 浏览: 1602915 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

公共访问

    博客分类:
  • Git
Git 
阅读更多

公共访问

匿名的读取权限该怎么实现呢?也许除了内部私有的项目之外,你还需要托管一些开源项目。或者因为要用一些自动化的服务器来进行编译,或者有一些经常变化的服务器群组,而又不想整天生成新的 SSH 密钥 — 总之,你需要简单的匿名读取权限。

或许对小型的配置来说最简单的办法就是运行一个静态 web 服务,把它的根目录设定为 Git 仓库所在的位置,然后开启本章第一节提到的 post-update 挂钩。这里继续使用之前的例子。假设仓库处于 /opt/git 目录,主机上运行着 Apache 服务。重申一下,任何 web 服务程序都可以达到相同效果;作为范例,我们将用一些基本的 Apache 设定来展示大体需要的步骤。

首先,开启挂钩:

$ cd project.git
$ mv hooks/post-update.sample hooks/post-update
$ chmod a+x hooks/post-update

post-update 挂钩是做什么的呢?其内容大致如下:

$ cat .git/hooks/post-update
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
#

exec git-update-server-info

意思是当通过 SSH 向服务器推送时,Git 将运行这个 git-update-server-info 命令来更新匿名 HTTP 访问获取数据时所需要的文件。

接下来,在 Apache 配置文件中添加一个 VirtualHost 条目,把文档根目录设为 Git 项目所在的根目录。这里我们假定 DNS 服务已经配置好,会把对 .gitserver 的请求发送到这台主机:

<VirtualHost *:80>
    ServerName git.gitserver
    DocumentRoot /opt/git
    <Directory /opt/git/>
        Order allow, deny
        allow from all
    </Directory>
</VirtualHost>

另外,需要把 /opt/git 目录的 Unix 用户组设定为 www-data ,这样 web 服务才可以读取仓库内容,因为运行 CGI 脚本的 Apache 实例进程默认就是以该用户的身份起来的:

$ chgrp -R www-data /opt/git

重启 Apache 之后,就可以通过项目的 URL 来克隆该目录下的仓库了。

$ git clone http://git.gitserver/project.git

这一招可以让你在几分钟内为相当数量的用户架设好基于 HTTP 的读取权限。另一个提供非授权访问的简单方法是开启一个 Git 守护进程,不过这将要求该进程作为后台进程常驻 — 接下来的这一节就要讨论这方面的细节。

 

http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%85%AC%E5%85%B1%E8%AE%BF%E9%97%AE

分享到:
评论

相关推荐

    描述您的机构针对数据库、文件服务器和桌面/开发人员端点的公共访问所使用的网络保护控制。

    主要介绍亚马逊接SP-API口申请PII权限相关,这部分是针对对数据库、文件服务器和桌面/开发人员端点的公共访问所使用的网络保护控制。 使用的时候一定要根据自己搭建环境进行更改,不要直接复制。

    数据库访问公共类

    数据库访问公共类

    winform公共访问数据类的

    this.dgDataGridView = this.dataGridView1; this.EidtPanel = pEdit; this.ModuleID = "1"; this.TableName = "Item"; this.PageTool = ldhPageTool1; this.IsDelete = true;...//如果为true的话,不把数据返回,...

    C#基于反射工厂的数据库公共访问类库源码及使用说明

    轻量级数据访问类,采用反射工厂模式支持多种数据库的访问,实现了数据库的常规访问、存储过程调用、事务处理等功能。可用于不同用途的数据库系统开发。 代码和使用文档均为本人自己编写,仅用于交流研究,若有错误...

    (三层 + 实体+公共数据库访问层)

    通过这种方式,业务逻辑层只需调用公共数据库访问层提供的接口,即可完成对数据的处理,降低了代码的重复性,提高了可维护性。 在实际开发中,三层架构结合实体和公共数据库访问层,可以有效地组织代码,实现低耦合...

    C#公共变量测试,多类访问

    1. `public`:公共访问修饰符,允许所有类访问。 2. `private`:私有访问修饰符,只允许在同一类内部访问。 3. `protected`:受保护访问修饰符,允许同一类或其子类访问。 4. `internal`:程序集访问修饰符,只允许...

    DucaiPublic:杜彩语言的公共访问目录

    杜彩公共杜彩语言的公共访问目录以下目录可用于公共编辑: 词汇项目文字摘录翻译范例语法基本指南以下目录不可用于公共编辑,但可以自由请求: 高级语法指南“ CruseirosGuïtsaul Aive-a Ducaia”(Cruseiro杜卡...

    ChatGLM、ChatGLM6B多用户访问接口

    ChatGLM6B默认的部署程序仅支持单用户访问,多用户则需要排队。测试过相关的几个Github多用户工程,但是其中一些仍然不满足要求。本程序实现多用户同时访问Chat GLM的部署接口,包括http、websocket(流式输出,...

    VPC-Lambda-give-Internet-Accesss.-Public-Access-:AWS(Amazon Web服务)VPC Lambda可以访问Internet。 (公共访问)

    (公共访问) 初始步骤 注意:建议为其中一个子网分配名称“公共”。 步骤1 转到路由表。 名称退出表(公共) 选择公共表。 选择“路线”选项卡,然后单击“编辑路线” 。 目标: 0.0.0.0/0并指向: igw-xxxx ...

    A_Different_Vibe:测试用于公共访问的ADV平台

    在IT行业中,公共访问平台的设计和测试是至关重要的,尤其是对于名为"A Different Vibe"(ADV)这样的项目。本文将深入探讨如何利用ADV平台进行测试,以便为公共访问提供稳定且用户友好的服务。我们将主要关注HTML...

    Java访问权限控制源代码

    1. **public**:公共访问修饰符,允许任何地方的任何类访问。如果一个类、接口或方法被声明为public,那么它们可以在程序的任何地方被调用。 2. **protected**:受保护的访问修饰符,允许在同一包内以及不同包的...

    java 访问权限验证

    1. **public**:公共访问权限,任何地方都可以访问。 2. **protected**:受保护的访问权限,允许同一包内的类和所有子类访问。 3. **默认(无修饰符)**:默认访问权限,只允许同一包内的类访问。 4. **private**:...

    vivacity-proto-buffet:带有Vivacity的protobuf消息模式的公共访问回购

    具有Vivacity的protobuf消息架构的公共访问回购 介绍 这是用于交换关于检测道路上物体(例如汽车,行人,骑自行车的人)的数据的方案。 该模式已公开提供,以鼓励跨行业的协作和数据的开放交换。 它还旨在: 通过...

    显示访问修饰符用法的 Java 程序.docx

    公共访问修饰符是最不安全的访问修饰符,因为它允许任何人访问声明的成员。 在 Java 中,访问修饰符的使用是非常重要的,因为它们可以确保类、构造函数、变量、方法或数据成员的安全性和可访问性。合理地使用访问...

    alfred-uploader:阿尔弗雷德(Alfred)工作流程可帮助您将本地图像或图像从剪贴板上传到云存储提供商(支持s3,upyun,qiniu),并获取公共访问URL

    Alfred工作流程可帮助您将本地图像或图像从剪贴板上传到云存储提供商(现在支持 , 和 ),并获取公共访问URL。 为什么要创建这个? Markdown是编写文档并产生美观外观的一种出色语言。 但是,当您在文档中插入本地...

    12_访问控制符_1 视频

    1. **公共访问(public)**:公共访问修饰符允许任何类的任何成员(包括方法和变量)在任何地方被访问。如果一个类、接口、方法或变量声明为public,那么它们可以在程序的任何地方被引用。 2. **默认访问(default...

    基于Java的源码-访问权限控制源代码.zip

    - **public**:公共访问修饰符,可以在任何地方被任何类访问。 - **private**:私有访问修饰符,只能在定义它的同一个类内部访问。 - **protected**:受保护访问修饰符,可以被同一包内的类和所有子类访问。 - *...

    关于Java访问权限表的一个总结

    - 公共访问权限是最宽松的,允许任何地方的任何代码访问具有此权限的类、接口、字段或方法。 - 类可以声明为public,表示该类可以在任何包中被访问。 - 如果一个方法或字段标记为public,那么它们可以在程序的...

    访问权限及继承

    4. **public**:公共访问权限是最宽松的,任何地方都可以访问。一般用于提供公共接口或需要跨包调用的类、方法和变量。 **继承**是面向对象编程的一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和...

    基于Java的实例源码-访问权限控制源代码.zip

    - **public**:公共访问修饰符,定义的类、接口、方法或变量可以在任何地方被访问。 - **private**:私有访问修饰符,只能在同一个类内部访问。这是最高级别的访问限制。 - **protected**:受保护访问修饰符,...

Global site tag (gtag.js) - Google Analytics