Вы можете использовать некоторое программное обеспечение SCM (также называемое контролем версий), такое как git
, mercurial
или fossil
.
Таким образом вы избежите огромного количества bak
файлов в рабочем каталоге и будете отслеживать все предыдущие версии одновременно.
ИМХО самым простым из них будет ископаемое-scm. Это статически компилируемый одиночный файл, который может обрабатывать такие задания. (Кстати, созданный тем же программистом, который создал SQLite, так что ожидайте качества)
Ваш рабочий процесс может быть таким:
cd
в каталог, в котором нужно отслеживать файлы, и запустите репозиторий с помощью команды fossil init
(он подготовит один файл базы данных).
- Скажите окаменелости, чтобы отслеживать конкретный каталог:
fossil open
- Добавить файлы / каталоги рекурсивно в хранилище
fossil addremove --dotfiles
- Сохранить текущий статус каталога в репозитории:
fossil commit
или если вы заботитесь о целостности файлов, то: fossil commit --sha1sum
Все последующие вызовы fossil
- это просто fossil commit
(если вам нужно добавить больше новых файлов или удалить некоторые из отслеживания, просто выполните перед фиксацией fossil addremove --dotfiles
)
Таким образом, все изменения в файлах будут храниться во временной шкале и могут быть предварительно просмотрены или сравнены (diff) или извлечены (извлечены) из файла репозитория ether за файлом или полностью восстановят предыдущее состояние всего каталога.
Вы можете использовать fossil extras --dotfiles
чтобы показать новые не отслеживаемые файлы или найти только те файлы, которые были изменены. fossil changes --abs-paths --sha1sum --header -v
Если вам нужно исключить некоторые файлы или каталог, ископаемые также поддерживают это.
Вы можете видеть временную шкалу изменений в симпатичном веб-интерфейсе, созданном одним и тем же файлом, или даже использовать внутреннюю WiKi, чтобы сделать хорошую аннотацию к изменениям.
Если вам нужно удалить некоторый контент из репозитория, для этого в fossil
есть механизм, называемый "shunning".