Я помещаю рабочие файлы в репозитории Git и синхронизирую их между компьютерами/ноутбуками с помощью внешнего SSD. Так, например, если я хочу синхронизировать repo1
с моего ПК на мой ноутбук, вот какие шаги нужно сделать:
cd /media/externalssd/repo1 && git pull ~/repo1
cd ~/repo1 && git pull /media/externalssd/repo1
Дополнительная информация: Я использую ZFS на Linux с помощью zfs-fuse
.
Иногда, в середине процесса извлечения, соединение USB-кабеля плохое, поэтому файловая система "отключается" или иногда zfs-fuse
демон умирает. После перезапуска zfs-fuse
и перемонтирования файловой системы иногда случается, что несколько файлов на ноутбуке усекаются, а репозиторий на ноутбуке больше не распознается как git-репозиторий ("fatal: Not a git repository (or any parent up to mount point /blah)"). А иногда репозиторий на SSD также повреждается.
Это меня пугает.
Какой элемент(ы), вероятно, усекает файлы? SSD? Linux? zfs-fuse
? Git? Как мне избежать этого повреждения и иметь надежный процесс синхронизации?
Мне кажется, у вас проблемы с надежностью подключения SSD, что по сути вызовет проблемы с любым программным обеспечением, которое пытается читать или писать с этого диска. В вашем случае это программное обеспечение git
.
Если вы не можете доверять своим соединениям при переходе с устройства на устройство, вам, вероятно, следует пересмотреть свой рабочий процесс.
Из приведенной выше информации я уверены, что ваш компьютер и ноутбуки находятся в одном месте или, по крайней мере, могут быть подключены к одной локальной сети. Почему вы не можете подключить SSD к ПК на постоянной основе, а затем использовать git для отправки / получения файлов по сети? Это решение должно быть относительно быстрым, как замена USB-накопителя, для всех целей и задач управления версиями файлов.