A.2.使用 Git¶
A.2.1.简介¶
从 2020 年 12 月起,FreeBSD 使用 git 作为主要的版本控制系统来存储所有 FreeBSD 的基本源代码和文档。从 2021 年 4 月起,FreeBSD 使用 git 作为唯一的版本控制系统来存储所有的 FreeBSD ports。
注意
Git 通常是一个开发者工具。用户可能更喜欢使用
freebsd-update
(“更新 FreeBSD”) 来更新 FreeBSD 基本系统,以及git
(“使用 ports”) 来更新 FreeBSD ports。
这一节演示了如何在 FreeBSD 系统上安装 Git 并使用它来创建 FreeBSD 源代码仓库的本地拷贝。
A.2.3.运行 Git¶
要获取一个干净的源码副本到本地目录,请使用 git clone
。这个目录下的文件被称为 工作树。
Git 使用链接来指定一个仓库。有三个不同的仓库,src
是指 FreeBSD 系统的源代码,doc
是指文档,而 ports
则是指 FreeBSD ports。这三个仓库都可以通过两种不同的协议到达:HTTPS 和 SSH。例如,链接 https://git.FreeBSD.org/src.git 指定了 src 仓库的主分支,并使用了 https 协议。
表 1. FreeBSD Git 仓库的链接表
项目 |
Git 链接 |
---|---|
只读 src 仓库,使用 HTTPS |
|
只读 src 仓库,使用 anon-ssh |
|
只读 doc 仓库,使用 HTTPS |
|
只读 doc 仓库,使用 anon-ssh |
|
只读 ports 仓库,使用 HTTPS |
|
只读 ports 仓库,使用 anon-ssh |
由项目成员维护的外部镜像也可以使用,请参考外部镜像部分。
要克隆一份 FreeBSD 系统源代码的副本。
# git clone -o freebsd https://git.FreeBSD.org/src.git /usr/src
-o freebsd
选项了指定了源;根据 FreeBSD 文档的惯例,源被假定为 freebsd
。因为初始检出必须下载远程仓库的完整分支,所以可能需要一些时间。请耐心等待。
最开始的工作树包含主分支的源代码,对应的是 CURRENT。要切换到 13-STABLE:
# cd /usr/src
# git checkout stable/13
可以用 git pull
更新工作树。要更新上面的例子中创建的 /usr/src,请使用:
# cd /usr/src
# git pull --rebase
更新比检出要快得多,只传输有变化的文件。
A.2.4.基于网络的资源库浏览器¶
FreeBSD 项目使用 cgit 作为基于网络的版本仓库浏览器:https://cgit.FreeBSD.org/。
A.2.6. 外部镜像¶
这些镜像并不托管在 FreeBSD.org 中,但仍由项目成员维护。我们欢迎用户和开发人员拉取或浏览这些镜像上的仓库。目前正在接受对 doc
和 src
GitHub 仓库的拉取请求;除此之外,项目与这些镜像的工作流程仍在讨论中。
Codeberg
GitHub
GitLab
A.2.7. 邮件列表¶
在 FreeBSD 项目中,关于 git 的一般使用和问题的主要邮件列表是 freebsd-git。更多细节,包括提交信息列表,请参见邮件列表章节。
A.2.8. SSH 主机密钥¶
gitrepo.FreeBSD.org 主机密钥指纹:
ECDSA 密钥指纹是
SHA256:seWO5D27ySURcx4bknTNKlC1mgai0whP443PAKEvvZA
ED25519 密钥指纹是
SHA256:lNR6i4BEOaaUhmDHBA1WJsO7H3KtvjE2r5q4sOxtIWo
RSA 密钥指纹是
SHA256:f453CUEFXEJAXlKeEHV+ajJfeEfx9MdKQUD7lIscnQI
git.FreeBSD.org 主机密钥指纹:
ECDSA 密钥指纹是
SHA256:/UlirUAsGiitupxmtsn7f9b7zCWd0vCs4Yo/tpVWP9w
ED25519 密钥指纹是
SHA256:y1ljKrKMD3lDObRUG3xJ9gXwEIuqnh306tSyFd1tuZE
RSA 密钥指纹是
SHA256:jBe6FQGoH4HjvrIVM23dcnLZk9kmpdezR/CvQzm7rJM
这些也作为 SSHFP 记录公布在 DNS 中。