# pkg install git-lite
第 3 章. 工作副本
目录
3.1. 文档和手册页
FreeBSD 文档不仅仅是书籍和文章。所有命令和配置文件的手册页也属于文档的一部分,也是 FDP 领域的一部分。涉及两个存储库:doc
用于书籍和文章,src
用于操作系统和手册页。要编辑手册页,必须单独检出 src
存储库。
存储库可能包含多个版本的文档和源代码。新的修改几乎总是只对最新版本进行,称为 main
。
3.2. 选择目录
FreeBSD 文档传统上存储在 /usr/doc/ 中,系统源代码和手册页存储在 /usr/src/ 中。这些目录树是可重定位的,用户可能希望将工作副本放在其他位置,以避免干扰主目录中现有信息。以下示例使用 ~/doc 和 ~/src,它们都是用户主目录的子目录。
3.3. 检出副本
从存储库下载工作副本称为克隆,并使用 git clone
完成。此示例克隆了主文档树最新版本 (main
) 的副本
% git clone https://git.FreeBSD.org/doc.git ~/doc
检出源代码以处理手册页非常类似
% git clone https://git.FreeBSD.org/src.git ~/src
3.4. 更新工作副本
FreeBSD 存储库中的文档和文件每天都在变化。人们修改文件并频繁提交更改。即使在初始检出后很短时间内,本地工作副本与主 FreeBSD 存储库之间也会存在差异。要使用对主存储库所做的更改更新本地版本,请在包含本地工作副本的目录上使用 git pull
% cd ~/doc
% git pull --ff-only
养成在编辑文档文件之前使用 git pull
的习惯。其他人可能最近编辑了该文件,并且在更新之前,本地工作副本将不包含最新的更改。编辑文件的最新版本比尝试将旧的、编辑过的本地文件与存储库中的新版本合并要容易得多。
3.5. 恢复更改
有时事实证明更改毕竟没有必要,或者作者只想重新开始。可以使用 git restore
将文件“重置”为其未更改的形式。例如,要删除对 _index.adoc 所做的编辑并将其重置为未修改的形式
% git restore _index.adoc
3.6. 制作差异
完成对文件或文件组的编辑后,必须将本地工作副本与 FreeBSD 存储库上的版本之间的差异收集到一个文件中以进行提交。这些diff 文件是通过将 git diff
的输出重定向到文件生成的
% cd ~/doc
% git diff > doc-fix-spelling.diff
为文件提供一个有意义的名称,以识别其内容。以上示例用于对整个文档树进行拼写修复。
如果要使用 Web 的“提交 FreeBSD 问题报告”界面提交 diff 文件,请添加 .txt 扩展名,以便让认真且头脑简单的 Web 表单了解内容是纯文本。
小心:git diff
包含在当前目录和任何子目录中所做的所有更改。如果工作副本中存在尚未准备好提交的编辑文件,请仅提供要包含的文件列表
% cd ~/doc
% git diff disks/_index.adoc printers/_index.adoc > disks-printers.diff
上次修改于:2024 年 3 月 9 日,由 Danilo G. Baio 修改