# pkg install git-lite
Глава 3. Рабочая копия
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.
Содержание
Рабочая копия — это копия дерева документации репозитория FreeBSD, загруженная на локальный компьютер. Изменения вносятся в локальную рабочую копию, тестируются, а затем отправляются в виде патчей для включения в основной репозиторий.
Полная копия дерева документации может занимать 550 мегабайт дискового пространства. Рекомендуется выделить не менее гигабайта, чтобы было место для временных файлов и тестовых версий в различных выходных форматах.
Git используется для управления файлами документации FreeBSD. Он устанавливается через devel/git, который также имеет облегчённую версию под названием git-lite:
3.1. Документация и Справочник
Документация FreeBSD — это не только книги и статьи. Справочник (man) для всех команд и конфигурационных файлов также являются частью документации и входят в сферу ответственности 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
Получение исходного кода для работы со справочником (man) выполняется аналогично:
% 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. Создание Diff
После завершения редактирования файла или группы файлов, различия между локальной рабочей копией и версией в репозитории FreeBSD должны быть собраны в один файл для отправки. Эти diff-файлы создаются путём перенаправления вывода команды git diff
в файл:
% cd ~/doc
% git diff > doc-fix-spelling.diff
Присвойте файлу осмысленное имя, отражающее его содержимое. В приведенном примере указаны исправления орфографии для всего дерева документации.
Если файл с различиями должен быть отправлен через веб-интерфейс "Сообщить о проблеме в FreeBSD", добавьте расширение .txt, чтобы дать простой и прямолинейной веб-форме понять, что содержимое представляет собой обычный текст.
Будьте осторожны: git diff
включает все изменения в текущем каталоге и его подкаталогах. Если в рабочей копии есть файлы с правками, которые ещё не готовы к отправке, укажите список только тех файлов, которые нужно включить:
% cd ~/doc
% git diff disks/_index.adoc printers/_index.adoc > disks-printers.diff
3.7. Ссылки Git
Эти примеры демонстрируют базовое использование Git. Более подробная информация доступна в Книге по Git и документации Git.
Изменено: 20 сентября 2025 г. by Vladlen Popolitov