-
分布式 Git - 维护项目-5.3
维护项目
除了如何有效地参与一个项目的贡献之外,你可能也需要了解如何维护项目。 这包含接受并应用别人使用 format-patch 生成并通过电子邮件发送过来的补丁,或对项目添加的远程版本库分支中的更改进行整合。 但无论是管理版本库,还是帮忙验证、审核收到的补丁,都需要同其他贡献者约定某种长期可持续的工作方式。
在特性分支中工作
如果你想向项目中整合一些新东西,最好将这些尝试局限在特性...
2019-01-17 01:34:35 |
Git
-
分布式 Git - 向一个项目贡献-5.2
向一个项目贡献
描述如何向一个项目贡献的主要困难在于完成贡献有很多不同的方式。 因为 Git 非常灵活,人们可以通过不同的方式来一起工作,所以描述应该如何贡献并不是非常准确 - 每一个项目都有一点儿不同。 影响因素包括活跃贡献者的数量、选择的工作流程、提交权限与可能包含的外部贡献方法。
第一个影响因素是活跃贡献者的数量 - 积极地向这个项目贡献代码的用户数量以及他们的贡献频率。 在许多情...
2019-01-17 01:34:35 |
Git
-
分布式 Git - 分布式工作流程-5.1
5.1 分布式 Git - 分布式工作流程
你现在拥有了一个远程 Git 版本库,能为所有开发者共享代码提供服务,在一个本地工作流程下,你也已经熟悉了基本 Git 命令。你现在可以学习如何利用 Git 提供的一些分布式工作流程了。
这一章中,你将会学习如何作为贡献者或整合者,在一个分布式协作的环境中使用 Git。 你会学习为一个项目成功地贡献代码,并接触一些最佳实践方式,让你和项目的维护...
2019-01-17 01:34:35 |
Git
-
Git 服务器上的 Git 之三方 Gitlab, Github, Gitlab-4.7
GitWeb
如果你对项目有读写权限或只读权限,你可能需要建立起一个基于网页的简易查看器。
Git 提供了一个叫做 GitWeb 的 CGI 脚本来做这项工作。
Gitlab
虽然 GitWeb 相当简单。 但如果你正在寻找一个更现代,功能更全的 Git 服务器,这里有几个开源的解决方案可供你选择安装。 因为 GitLab 是其中最出名的一个,我们将它作为示例并讨论它的安装和使用。 ...
2019-01-17 01:34:35 |
Git
-
Git 服务器上的 Git 之 SmartHttp-4.6
4.6 服务器上的 Git - Smart HTTP
我们一般通过 SSH 进行授权访问,通过 git:// 进行无授权访问,但是还有一种协议可以同时实现以上两种方式的访问。
设置 Smart HTTP 一般只需要在服务器上启用一个 Git 自带的名为 git-http-backend 的 CGI 脚本。
该 CGI 脚本将会读取由 git fetch 或 git push 命令向 H...
2019-01-17 01:34:35 |
Git
-
Git 服务器上的 Git 之守护进程-4.5
Git 服务器上的 Git 之守护进程-4.5
接下来我们将通过 “Git” 协议建立一个基于守护进程的仓库。 对于快速且无需授权的 Git 数据访问,这是一个理想之选。 请注意,因为其不包含授权服务,任何通过该协议管理的内容将在其网络上公开。
如果运行在防火墙之外的服务器上,它应该只对那些公开的只读项目服务。 如果运行在防火墙之内的服务器上,它可用于支撑大量参与人员或自动系统(用于持续...
2019-01-17 01:34:35 |
Git
-
Git 服务器上的 Git 之配置服务器-4.4
4.4 服务器上的 Git - 配置服务器
我们来看看如何配置服务器端的 SSH 访问。
本例中,我们将使用 authorized_keys 方法来对用户进行认证。
同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。
创建用户
首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。
$ sudo adduser git
$ su git
...
2019-01-17 01:34:35 |
Git
-
Git 服务器上的 Git 之SSH公钥-4.3
4.3 服务器上的 Git - 生成 SSH 公钥
如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确...
2019-01-17 01:34:35 |
Git