Я хочу использовать git как средство резервного копирования и иметь историю изменений для файлов конфигурации программного обеспечения, которое я использую на своем рабочем столе. Это будет локальный репозиторий с локальной установкой git.Использование git для резервного копирования файлов конфигурации
Однако я уверен в них:
Можно ли добавить файл в хранилище, как если бы он был в другом пути, чем его реальный?
Я забочусь о том, что если я буду добавлять файлы наивно, скопировав их в репозиторий и обновив репо, я бы использовал двойное пространство для каждого файла. Хотя это не будет много места, я все равно предпочел бы более чистое решение. Я просмотрел
git-add
,git-mv
иgit-filter-branch
, но они, похоже, не обеспечивают чистого решения. Для выполнения этой задачи могут использоваться как механикиadd
, так иmv
, но на самом деле не обойти проблему дублирования файлов.filter-branch
кажется слишком большим молотом для этой задачи.Возможно ли изменить путь к файлу после его добавления?
git-filter-branch
похоже на это, но я не уверен в побочных эффектах.Содействуют ли ссылки или жесткие ссылки, чтобы обойти необходимость копирования файлов, если git не способен к тому, что мне нужно явно? Будет ли эта работа кросс-платформенной или git обрабатывает ссылки по-разному на разных платформах?
редактировать в 2017 году - принял ответ, который я получил, потому что теперь, когда я понимаю, мерзавец лучше, я понимаю, что это не лучшее решение, чем копирование файлов или просто имея GIT репозиторий в директории прародителя. Неэлегантность этого означает, что копирование файлов является оптимальным решением, а symlinks/hardlinks не имеют отношения к этой проблеме. Комментарии и ответ могут быть полезны для кого-то, кто ищет что-то подобное, но не то же самое, поэтому я рекомендую проверить их.
Какие операционные системы вы пытаетесь настроить? И какие файлы конфигурации? Ваши «dotfiles» ('~/.bash_profile' и т. П.)? – nwinkler
@ nwinkler Я надеюсь на решение, которое будет работать прозрачно на окнах и Linux (или, по крайней мере, на одном, который может быть написан по сценарию, чтобы вести себя прозрачно). Файлы Config должны включать dotfiles (такие как '.vimrc' и' vimfiles'), а также различные другие файлы конфигурации (например, для GIMP, Firefox и т. Д.). – mechalynx
Взгляните на мой ответ здесь: http://stackoverflow.com/a/31848307/1228454 - это не 100% дубликат, но может дать вам некоторые идеи. Есть инструменты для этого (например, Homesick, о котором я упоминал там), но не все может работать на Windows (если вы не используете Git-Bash или Cygwin). – nwinkler