Я хотел бы использовать git, чтобы вести простую историю изменений в некоторых текстовых файлах (исходные, но это могут быть файлы конфигурации или что-то еще - вопрос не относится к разработке программного обеспечения).

Я использовал для этого RCS, который был так же прост, как и работа, которая выполнялась ежедневно, которая нашла все мои соответствующие текстовые файлы (например, cd /some/where; find . -name "*.foo" ...) и проверила они все в (что-то вроде ci -q -mbackup -l filename) - по сути, ci ничего не делает, если файл не изменяется. Старые версии (или, точнее, отличия, из которых старые версии могли быть восстановлены с помощью rcs) хранились в каталоге RCS в локальной файловой системе / диске.

Позже я мог запустить rlog filename чтобы увидеть даты изменения интересующего файла и изменения количества строк. Я мог бы использовать rcsdiff чтобы увидеть точные изменения, если это будет необходимо. Я мог бы использовать co, чтобы отменить изменения.

Мне не нужны удаленные репозитории, синхронизация репозиториев, работа с другими людьми, ведение журналов причин изменений, ветвление, группировка файлов, печать номеров версий или номеров выпусков в группах файлов или что-либо иное, кроме базового управления версиями файлов (без использования В Windows 10 встроены функции, которые говорят о необходимости внешнего диска и которые я подозреваю по соображениям портативности).

У меня уже есть установленный git на Windows 10 (потому что golang использует git для получения библиотек и т.д., Я сам не использую git), так что ...

Есть ли простой способ использовать git таким же упрощенным способом?

2 ответа2

2

Конечно. Вам понадобится какой-нибудь скрипт, который перейдет в /some/where и затем что-то выполнит

git add .
git commit -m "some message"

Затем вы можете использовать git log $filename чтобы увидеть его историю. git log не будет показывать вам измененные числа, но вы можете написать сценарий генерации вашего сообщения коммита, чтобы отразить это. И git diff чтобы показать вам точные изменения, и git revert чтобы вернуться.

1

Охватывая несколько простых эквивалентов вопросов в вашем вопросе, и предполагая, что у вас есть все интересующие вас файлы в /some/where

Однократная инициализация:

cd /some/where
git init

Фиксация всех файлов foo измененных с момента последнего коммита:

cd /some/where
git add "*.foo"
git commit -m "commit message about today's foo files"

Перечислите три последних коммита конкретного файла со сводной статистикой:

cd /some/where/else
git log -3 --shortstat alphabet.foo

Учитывая два хэша коммитов из вывода git log , смотрите разницу между ними

cd /some/where/else
git diff ac132f..be8d5e alphabet.foo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .