首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
关于版本控制
Git 简史
Git 基础
git命令行
安装 Git
初次运行 Git 前的配置
git获取帮助
获取 Git 仓库
git记录每次更新到仓库
git查看提交历史
git撤消操作
git远程仓库的使用
git打标签
Git 别名
git分支简介
git分支的新建与合并
git分支管理
git分支开发工作流
git远程分支
在服务器上搭建 Git
git生成 SSH 公钥
git服务器配置
git守护进程
GitLab
当前位置:
首页>>
技术小册>>
git零基础到高级应用
小册名称:git零基础到高级应用
接下来我们将通过 “Git” 协议建立一个基于守护进程的仓库。对于快速且无需授权的 Git 数据访问,这是一个理想之选。请注意,因为其不包含授权服务,任何通过该协议管理的内容将在其网络上公开。 如果运行在防火墙之外的服务器上,它应该只对那些公开的只读项目服务。如果运行在防火墙之内的服务器上,它可用于支撑大量参与人员或自动系统(用于持续集成或编译的主机)只读访问的项目,这样可以省去逐一配置 SSH 公钥的麻烦。 无论何时,该 Git 协议都是相对容易设定的。通常,你只需要以守护进程的形式运行该命令: `git daemon --reuseaddr --base-path=/opt/git/ /opt/git/` --reuseaddr 允许服务器在无需等待旧连接超时的情况下重启,--base-path 选项允许用户在未完全指定路径的条件下克隆项目,结尾的路径将告诉 Git 守护进程从何处寻找仓库来导出。如果有防火墙正在运行,你需要开放端口 9418 的通信权限。 你可以通过许多方式将该进程以守护进程的方式运行,这主要取决于你所使用的操作系统。在一台 Ubuntu 机器上,你可以使用一份 Upstart 脚本。因此,找到如下文件: `/etc/event.d/local-git-daemon` 并添加下列脚本内容: ```asp start on startup stop on shutdown exec /usr/bin/git daemon \ --user=git --group=git \ --reuseaddr \ --base-path=/opt/git/ \ /opt/git/ respawn ``` 出于安全考虑,强烈建议使用一个对仓库拥有只读权限的用户身份来运行该守护进程 - 你可以创建一个新用户 git-ro 并且以该用户身份来运行守护进程。为简便起见,我们将像 git-shell 一样,同样使用 git 用户来运行它。 当你重启机器时,你的 Git 守护进程将会自动启动,并且如果进程被意外结束它会自动重新运行。为了在不重启的情况下直接运行,你可以运行以下命令: `initctl start local-git-daemon` 在其他系统中,你可以使用 sysvinit 系统中的 xinetd 脚本,或者另外的方式来实现 - 只要你能够将其命令守护进程化并实现监控。 接下来,你需要告诉 Git 哪些仓库允许基于服务器的无授权访问。你可以在每个仓库下创建一个名为 git-daemon-export-ok 的文件来实现。 ```asp $ cd /path/to/project.git $ touch git-daemon-export-ok ``` 该文件将允许 Git 提供无需授权的项目访问服务。
上一篇:
git服务器配置
下一篇:
GitLab
该分类下的相关小册推荐:
细说Python(零基础学Python)