Страница 1 из 1

Git + Dropbox. Удаленный репозиторий.

Добавлено: 2010.04.09, 17:40
timlar
Хочу рассказать, как подружить Git и сервис Dropbox, чтобы иметь доступ к репозиторию с любого компьютера.

Можно, конечно, воспользоваться сервисом Github, но в бесплатной версии аккаунта доступ к репозиторию открыт для всех. Это подходит только для open source проектов.

О том, что такое Git и Dropbox (мало ли, может кто-то не знает) можно прочитать на Википедии: Git и Dropbox


Установка Dropbox

Для начала, нужно зарегистрировать аккаунт Dropbox, если у Вас его еще нет.

После регистрации, нужно будет скачать клиент Dropbox и установить. Dropbox интегрируется в Проводник и в систем трее появляется его иконка, которая показывает процесс синхронизации и содержит ссылки для быстрого доступа к сайту и локальой директории.
Советую в процессе установки клиента указывать свой путь к директории, например "D:\My Dropbox\", чтобы путь не содержал русских букв.

Клиент установлен и настроен. Перейдя в директорию D:\My Dropbox\, увидим две директории Public (расшаренная) и Pictures (эта директория используется сервисом Dropbox для создания галерей изображений, которые в ней находятся).


Установка Git

Теперь перейдем к установке и настройке Git. Заходим сюда и качаем Git-1.7.0.2-preview20100309.exe (на момент написания этого мануала).

Устанавливаем. В процессе установки выбираем "Run Git and included Unix tools from the Windows Command Prompt". Остальное оставляем без изменений.

Заходим в директорию нашего проекта, допустим это будет D:\projects\testproject, клацаем в окне Проводника правой кнопкой мыши и в меню выбираем "Git Init Here". Тем самым создаем пустой репозиторий.

Снова вызываем контектное меню и выбираем "Git GUI". Откроется графическая утилитка для управления файлами в репозитории. На данный момент репозиторий пуст и туда нужно добавить файлы. В нижней части окна жмем кнопку "Перечитать". В верхнем правом окошке появятся найденные файлы, которые еще не внесены в репозиторий. Выделяем их через Shift и жмем Ctrl+T, чтобы подготовить к внесению в репозиторий. Либо же можно воспользоваться кнопкой "Подготовить все" в нижней части окна.

Далее пишем комментарий к нашему первому коммиту, например "Init repository" и жмем кнопку "Сохранить".

Все эти действия можно делать и из командной строки, если кому-то так удобнее.


Настройка удаленного репозитория в Dropbox

С приготовлениями закончили, теперь о том, как связать Git и Dropbox.

Для начала нам нужно создать удаленный репозиторий. Для этого в папке с нашим проектом, жмем правой кнопкой мыши, выбираем в меню "Git Bash". Далее пишем команду:

$ git clone --bare . /d/My\ Dropbox/Public/testproject.git

Этой командой мы создаем удаленный репозиторий и копируем в него наш лакальный репозиторий.

Чтобы не писать постоянно такой длинный путь, моно создать алиас (он будет виден и в утилите Git GUI). Выполняем следующую команду.

$ git remote add testproject /d/My\ Dropbox/Public/testproject.git

Делаем коммит, добавляя все файлы:

$ git commit -a -m "Commit message"

Сонхронизируем изменения в удаленный репозиторий:

$ git push sharedproject master

Все. Теперь наш репозиторий с проектом хранится на сервере DropBox'а.

Чтобы получить копию репозитория и работать с ней на другом компьютере, нужно там установить Git и Dropbox, и выполнить следующие команды в Git Bash:

$ git clone /d/My\ Dropbox/Public/testproject.git
$ git remote add sharedproject /d/My\ Dropbox/Public/testproject.git
$ git pull sharedproject master

На этом все.


P.S.

Писатель из меня никакой, так что сильно ногами не пинайте. Если что-то будет не ясно, спрашивайте. Кому будет интересно, могу рассказать как работать с Git в Линуксе. Сам я линуксоид ;)

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2011.04.29, 18:15
ikarushka
Да! да! Интересно про Git в Линуксе. Раскажите )

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2011.04.29, 18:19
timlar
ikarushka писал(а):Да! да! Интересно про Git в Линуксе. Раскажите )
Есть какие-то определенные вопросы? :)

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2011.04.30, 10:05
ikarushka
Ставлю сейчас себе это дело. Пока все нормально. Но наверно скоро будут определенные вопросы )

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2013.06.05, 08:22
pavshuk
Попробуйте https://bitbucket.org/dashboard/overview. Там закрытые репозитории можно создавать.

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2013.06.05, 15:12
yiijeka
Прикольно - это получается можно прикрутить и к дискам яндекса, гугла, mega... Не удобно, чтобы отправлять уже обновлённый код, нужны эти сторонние программы. Для приватных использую bitbucket...
Но всё равно спасибо.

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2013.06.05, 17:51
AlexSimp
С вашего позволения, прикреплю тему.

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2013.06.06, 14:54
rhamdeew
Для приватных репозиториев еще можно извратиться и поднять GitLab (если с веб-мордой) или же просто gitolite накатить. Благо VPS сейчас довольно-таки дешевы + можно такие штуки поднять на каком-нить OpenShift

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2013.06.15, 18:44
ewf
Зачем такие сложности? Есть ведь bitbucket, аналог github, но с бесплатными приватными репо.

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2013.06.16, 09:19
Ryadnov
ewf писал(а):Зачем такие сложности? Есть ведь bitbucket, аналог github, но с бесплатными приватными репо.
Ну откройте очи свои! Когда тема писалась, битбакет еще не поддерживал гит. Это произошло только через 1,5 года http://blog.bitbucket.org/2011/10/03/bi ... rocks-git/

Не будите мертвяков ;)

Re: Git + Dropbox. Удаленный репозиторий.

Добавлено: 2015.01.10, 10:45
zelenin
почему-то оказалась у меня открыта эта тема, поэтому отпишусь.
Проблема своего репозитория решается с помощью впс за 5 уе (digital ocean) и все.

Для удобства создаем юзера git, используем баш-скрипт для добавления репо

Код: Выделить всё

#!/bin/bash

git_root=/drive2/git

echo -n 'Enter repository name [repository.git]: '
read repository

if [ ! -d $git_root ]; then
    mkdir $git_root
fi

cd $git_root
git init --bare $repository
chown -R git:git $git_root/$repository
ln -s ${git_root}/${repository} /home/git/${repository}
 
ну еще можно добавить ssh-ключ, чтобы не вводить пароль при каждом пуше.