Какие инструменты существуют для простого одноразового обмена git-репо? - PullRequest
8 голосов
/ 28 апреля 2011

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

Простейший способ, который я до сих пор придумал, - установить гем Ruby для веб-сервера adsf для Ruby,обязательно запустите git update-server-info, а затем просто запустите adsf в каталоге, которым я хочу поделиться.Например, если я запускаю его в корне репо, я бы сказал другой стороне клонировать http://<my_hostname_or_ip>:3000/.git или любой другой порт, на котором запущен сервер.

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

Какие другие инструменты или хаки, которые вы используете или знаете, выполняют аналогичную функцию?

edit: чтобы уточнить, я ищу решение, подобное hg serve: специальное, быстрое и безболезненное, требующее минимальной настройки и не требующее постоянных услуг.

Ответы [ 3 ]

12 голосов
/ 28 апреля 2011

Запустите это откуда-нибудь.

git daemon --export-all --base-path=/tmp --port=9090 /tmp/foo/.git

/tmp/foo/.git - это каталог, который вы хотите открыть.

Тогда вы можете клонировать его в другом месте, например

git clone git://localhost:9090/foo testdir

И вы получите хранилище в testdir.

Убейте сервер с помощью ^C, когда закончите. Он также может принимать параметры, какие службы включить / отключить. git help daemon для получения дополнительной информации. Я думаю, что это намного проще, чем adsf.

6 голосов
/ 28 апреля 2011

Для клона, совместно используемого двумя пользователями в течение короткого периода времени, я бы предпочел:

  • создать только один файл через git bundle
  • отправьте по почте или скопируйте этот файл на другую рабочую станцию ​​разработчика.

Это сработает, даже если между двумя пользователями не будет новой связи.

0 голосов
/ 28 апреля 2011

Я обычно использую Apache, так что это будет просто:

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