
У меня есть компьютер Debian и MacBook Air. На Debian я создал репозиторий:
mkdir -p /repository/git/2014.git
cd /repository/git/2014.git
git init --bare --shared
Затем я набрал на MacBook:
cd /path/to/2014-pictures
git init
git add .
git commit -m "initial commit"
git remote add origin lozsui@debianbox:/repository/git/2014.git
git push origin master
Ну, git add .
и git push origin master
это заняло довольно много времени.
Я выбрал этот подход, потому что считаю его довольно простым в применении. В случае, если на MacBook будут добавлены новые фотографии, я смогу git push origin master
их довольно легко debianbox:/repository/git/2014.git
переделать. Более того, я получаю версионность по ходу дела.
Когда я сижу перед своим компьютером Debian, я просто делаю git clone /repository/git/2014.git /to/bring/pictures/to/the/place/I/need/them
.
Итак, ребята, знаете ли вы лучшие способы добиться того, чего я, по сути, хочу?
решение1
Использовать Git таким образом — действительно плохая идея. Он не предназначен для хранения двоичных данных, поэтому каждый раз, когда вы редактируете идентичный образ, вы будете сохранять обе копии (старую + новую). Плюс, это не самый быстрый способ перемещения такого типа данных.
Если вам по душе интерфейс Git, вы можете использоватьgit-annex
Вместо этого он использует Git U/I, но позволяет заменять «бэкенды» на те, которые лучше подходят для двоичных данных.
git-annex позволяет управлять файлами с помощью git, не проверяя содержимое файла в git. Хотя это может показаться парадоксальным, это полезно при работе с файлами, размер которых больше, чем git может легко обработать в настоящее время, будь то из-за ограничений памяти, времени или дискового пространства.
git-annex предназначен для пользователей git, которые любят командную строку. Для всех остальных помощник git-annex превращает git-annex в простой в использовании синхронизатор папок.