Для некоторых проектов бывает нецелесообразно использовать центральные репозитории наподобие github или bitbucket, а синхронизировать данные проекта тем не менее хочется.
В этом случае можно организовать перенос проекта между машинами на обыкновенной флешке.
Самое простое решение это архивация файлов проекта и копирование архива на флешку, но делать это каждый раз несколько утомительно. Гораздо удобнее воспользоваться возможностями, которые предоставляет git.
Создание локального репозитория в директории проекта:
В этом случае можно организовать перенос проекта между машинами на обыкновенной флешке.
Самое простое решение это архивация файлов проекта и копирование архива на флешку, но делать это каждый раз несколько утомительно. Гораздо удобнее воспользоваться возможностями, которые предоставляет git.
Создание локального репозитория в директории проекта:
git init
Добавление файлов проекта в репозиторий:
git add .
Допустим флешка смонтирована в директорию /media/usb, тогда следующая команда создаст копию репозитория на флешке:
git clone --local --bare --no-hardlinks . /media/usb/project/path
- обратите внимание на опцию --no-hardlinks, без этой опции команда выдает ошибку Invalid cross-deive link.
Чтобы не указывать каждый раз путь к копии репозитория добавим его с помощью команды:
git remote add usb file:///media/usb/project/path
Теперь после внесения изменений и коммита в локальный репозиторий можно переносить изменения на флешку командой:
git push usb
Для получения обновлений с флешки используется команда:
git pull usb master
Вместо master можно указать другую ветку.
При создании проекта на другой рабочей машине нужно скопировать репозиторий с флешки:
git clone file:///media/usb/project/path
Т.о. получаем удобную систему для синхронизации проекта между двумя и более рабочими машинами с помощью usb флешки или любого другого портативного носителя без использования центрального репозитория.
Спасибо. Очень толково изложено. Уважаю.
ОтветитьУдалить