Git: синхронизация проекта по почте - PullRequest
7 голосов
/ 01 февраля 2010

Я разрабатываю проект на моем персональном компьютере (Macbook). Я использую git для версии.

У меня есть другой компьютер (тот, который я использую на работе), на котором я хотел бы разработать тот же проект в дневное время. У меня есть бесплатная учетная запись на github, поэтому я могу использовать ее для синхронизации работы и развития дома, но проект не является «общедоступным».

Итак, есть ли способ работать с git, используя электронную почту в качестве инструмента синхронизации?

Спасибо

Ответы [ 5 ]

7 голосов
/ 03 февраля 2010

Вы также должны заглянуть в git-bundle . Из справки:

Некоторые рабочие процессы требуют, чтобы одна или несколько веток разработки на одном компьютере были реплицированы на другом компьютере, но эти два компьютера не могут быть напрямую связаны, и поэтому нельзя использовать интерактивные протоколы git (git, ssh, rsync, http). Эта команда обеспечивает поддержку для работы `git fetch` и` git pull`, упаковывая объекты и ссылки в архив на исходной машине, а затем импортируя их в другой репозиторий с использованием `git fetch` и` git pull` после перемещения некоторые средства (например, по sneakernet). Поскольку прямого соединения между репозиториями не существует, пользователь должен указать базу для пакета, который хранится в целевом хранилище: пакет предполагает, что все объекты в базе уже находятся в целевом хранилище.

Пакеты представляют собой двоичные файлы, но они, как правило, имеют небольшой размер, так как вам не нужно включать весь репозиторий, и они сжаты.

Git Magic также имеет несколько примеров использования.

6 голосов
/ 01 февраля 2010

Посмотрите на git-send-email и git-format-patch .

РЕДАКТИРОВАТЬ: Пэт ответ лучше, поскольку он сохраняет идентификаторы фиксации.

3 голосов
/ 02 февраля 2010

Возможно, вы могли бы использовать небольшой портативный USB-ключ для хранения главного репозитория для проекта. Тогда вы сможете обновить и синхронизировать его как дома, так и на работе. На мой взгляд, это проще, чем пытаться управлять электронной почтой.

2 голосов
/ 02 февраля 2010

Рассматривали ли вы использовать что-то кроме электронной почты для синхронизации проекта? Если вам разрешено устанавливать его на работе, вы можете использовать Dropbox для синхронизации проектов git между компьютерами:

cd ~/Dropbox/git/
git init --bare my_project.git
cd ~/my_project/
git remote add dropbox ~/Dropbox/git/my_project.git
git push --mirror dropbox

Поскольку содержимое ~/Dropbox автоматически синхронизируется между компьютерами, вы можете просто извлекать / выгружать из / в репозиторий Dropbox на обеих машинах, что IMHO намного проще, чем при использовании электронной почты.

2 голосов
/ 01 февраля 2010

В Git есть довольно мощные инструменты для автоматического создания наборов патчей и даже отправки их вам. Или вы можете вручную отформатировать их потом. Я бы потратил некоторое время на чтение документации на сайте Git для некоторых примеров и информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...