Краткая инструкция по Fossil
Этот краткий документ объясняет базовые команды Fossil достаточные для работы одного пользователя. Данный документ не описывает совместную работу с другими пользователями, не описывает синхронизацию с удаленным репозиторием, и не описывает разветвления / порождения.
Создать новое хранилище (репозиторий) Править
fossil new C:\test.repo
Эта команда создаст новый бинарный SQLite файл, содержащий репозиторий (хранилище), то есть: файлы, билеты, вики и т. д. Он может быть расположен в любом месте, но лучше всего держать его за пределами рабочего каталога, где вы будете работать с файлами после того как они были извлечены из репозитория.
Открыть репозиторий Править
cd C:\Temp\test.fossil fossil open C:\test.repo
Эта команда проведёт последнюю ревизию всех файлов в хранилище, если таковые имеются, в текущей директории. Кроме того, данная команда создаст бинарный файл _FOSSIL_
в котором будут отслеживаються изменения (на отличных от Windows-системах этот файл называется .fslckout
).
Добавить новые файлы Править
fossil add .
Fossil пометит новые файлы на добавление в хранилище, но реально добавлены в репозиторий они будут после выполнения команды commit
. При использовании точки «.
», fossil добавит все файлы текущей директории рекурсивно, включая все файлы во всех подкаталогах.
Примечание: вот так можно fossil-у сказать игнорировать некоторые расширения:
fossil settings ignore-glob "*.o,*.obj,*.exe" --global
Удалить файлы, которые еще не были закоммичены:
fossil delete myfile.c
или
fossil rm myfile.c
Это команда просто удалит файл myfile.c
из списка файлов, которые были добавлены ранее через команду fossil add
.
Файлы которые были добавлены в репозиторий ранее, тоже можно удалить этими командами. Имена файлов содержащих символы пробела или интернациональные символы следует брать в двойные кавычки. Пример:
fossil rm "Фото моей тёти.jpg"
Проверить текущее состояние Править
fossil changes
Это команда показывает список изменений, которые будут совершены, когда вы запустите fossil commit
. Это полезная команда для запуска перед коммитом, чтобы проверить все ли в порядке.
Фиксация изменений Править
Чтобы действительно применить намеченные изменения в репозитории, например: новые файлы помеченные для добавления, извлеченные файлы, которые были отредактированы и должны быть проверены и т. д.
fossil commit -m "Added stuff"
Если имена файлов не введены в командной линии, то все изменения будут зарегистрированы, в противном случае будет проведён commit для перечисленных файлов.
Сравнение двух ревизий файла. Править
Если вы хотите сравнить последнюю версию файла в репозитории c его версией в вашем рабочем каталоге наберите:
fossil gdiff myfile.c
Если вы хотите сравнить две разных ревизии одного файла в репозитории:
fossil finfo myfile
Примечание: обратите внимание на первый хэш UUID фиксации, когда файл был закоммичен.
fossil gdiff --from UUID#1 --to UUID#2 myfile.c
Отменить изменения и вернуться к предыдущей версии Править
fossil revert myfile.c
Fossil не спрашивает, когда возвращает файл. Он просто напоминает пользователю об отмене команды, на всякий случай.
Закрыть репозиторий Править
fossil close
Это команда просто удалит файл _FOSSIL_
в корневом каталоге, рабочие файлы в рабочем каталоге останутся без изменений. После этой команды, любое использование команды fossil
вызовет ошибку, так как больше не никаких связей.
Fossil в Windows 7 Править
Не следует помещать fossil.exe
в system32
, так как потом почему-то не работает команда fossil ui
Распространение изменений Править
Чтобы обновить изменения на удалённом репозитории:
fossil push URL
Чтобы обновить локальный репозиторий из удалённого:
fossil pull URL
Синхронизировать локальный и удалённый репозиторий — аналог двух выполненных команд push
и pull
:
fossil sync URL
Чтоб изменения из удалённых репозитория устанавливались в виде отдельной ветки выполните
fossil update VERSION
Отменить последние изменения до commit
:
fossil undo
Иногда пользователи не хотят делится изменениями в своём репозитории. Для этого нужно запускать:
fossil commit --private
Если вы почистили свою папку с исходниками и удалили кучу файлов, то fossil при commit будет ругаться. Эту проблему можно решить запустив
fossil addremove