DropBox и Git-репозиторий

03 January 2011 #dropbox #git

В последнее время вплотную работаю над разработкой статических сайтов. И очень удобно при этом использовать Git-репозитории. Разработка существенно упрощается, куда проще вносить какие-то новшества, пробовать новые техники…

Однако заводить для этого отдельный репозиторий на github.com не хочется, так как там он публичный. Использовать чисто локальный репозиторий не удобно, доступ к нему только с одной машины. Можно организовать репозитории на VPS по SSH-протоколу, что я в принципе и сделал и для некоторых вещей использую. Однако на днях понял, что можно сделать все гораздо проще.

Достаточно организовать локальный репозиторий в папке, которая синхронизируется с сервером DropBox.

$ cd ~/DropBox/
$ mkdir -p Git/project.git
$ cd Git/project.git
$ git init --bare

Репозиторий создан, теперь с ним можно начинать работать. Создаем рабочую копию, в которой будем проводить все эксперименты:

$ mkdir -p ~/Temp/Git
$ cd ~/Temp/Git
$ git clone ~/Git/project.git

Получаем предупреждение о том, что мы клонируем пустой репозиторий, но просто не обращаем на это внимание. Переходим в созданную директорию и начинаем работать:

$ cd project
$ > README
$ git add README
$ git commit -a -m "Add README file"
$ git push origin master

Все последующие комиты можно будет совершать обычным git push. В итоге получается, что в папке DropBox у нас хранится основной репозиторий, с результатами наших экспериментов. Или, если так можно выразиться, рабочая копия проекта. А в копии репозитория проводим все эксперименты, создавая отдельные ветки, удаляя или создавая новые файлы, периодически делая комиты для фиксации изменений. И при необходимости можно сделать откат до нужного комита.

Если же эксперимент удался, и все прошло как задумывалось, то текущее состояние пушим в основной репозиторий, который автоматически будет синхронизирован с сервером DropBox.

С сервера сам репозиторий можно забрать из любой точки земного шара, главное, чтобы интернет работал. И, теоретически, можно организовать групповую работу с репозиторием. Хотя эту возможность я пока не отрабатывал.

Вот так просто можно организовать свой бесплатный Git-сервер.