Я хочу использовать Мерзавца для резервного копирования моего домашнего диска, но я также хочу использовать его в качестве системы управления версиями для проектов, которые будут сохранены в моем домашнем диске.
Как я пошел бы о выполнении этого? Я .gitignore все корневые папки проектов и делают новые репозитории для них?
Править:
Хорошо я объяснил, что я хотел неправильно. Я хочу иметь историю изменений, внесенных в мой домашний диск как, я могу добраться с Мерзавцем, и я также хочу создать резервную копию этого.
Это очень похоже на то, что я делаю. У меня есть репозиторий git в моем домашнем каталоге, но я использую его для отслеживания только тех файлов конфигурации, которые я могу редактировать вручную. (Это исключает файлы состояния, хранящиеся в «современных» средах рабочего стола, и почти все, что хранится в формате XML.) Все остальное помещается в .gitignore
. Когда-то давно я решил, что мой каталог заметок и мой ~ / .emacs.d
должны быть помещены в свои собственные репозитории, поэтому я создал репозитории git в этих каталогах, и главный репозиторий игнорировал их.
Я использую эту настройку не для резервного копирования, а для синхронизации отслеживаемых файлов между учетными записями на разных машинах, но я полагаю, что это также может сработать для резервных копий.
Используйте rsync
для резервного копирования.
Используйте git
для управления версиями.
Вы действительно хотите использовать rsync для резервного копирования данных. Просмотрите следующий URL-адрес, чтобы получить дополнительную информацию о rsync, а также несколько примеров резервного копирования данных:
http: //www.sanitarium .net / golug / rsync_backups_2010.html
Некоторое время назад я написал в блоге сообщение об этом :
Системы контроля версий, за возможным исключением SourceSafe отлично отслеживают код. Это почему? Потому что они были предназначены для отслеживания кода .
Однако, к сожалению, характеристики хорошей VCS полностью отличаются - и часто прямо противоположны - характеристикам, которые составляют хорошую систему резервного копирования.
Возьмем, к примеру, владение файлом . Хорошая VCS совершенно справедливо игнорирует владение файлом : когда я проверяю чей-то код, я должен быть владельцем этого файла, а не того uid, который изначально создал их. С другой стороны, хорошая система резервного копирования будет делать все, что в ее силах, чтобы сохранить права собственности на файлы : когда я восстанавливаю свои резервные копии, я хочу, чтобы / etc / shaddow принадлежал root и / home / wolever / принадлежать Волеверу.
НО, если вы действительно хотите, посмотрите bup - насколько я могу судить, он выполняет резервное копирование с помощью git
"правильно".