Git служить: я хотел бы, чтобы это просто

Я хочу знать, как просто публиковать по http = как Mercurial hg serve! В окне Windows/work сделайте следующее:

git serve 

а затем в поле Linux SIMPLY go:

git clone http://project project 

закончил.

Ответ 1

Перейдите в свой проект и запустите git -daemon со следующими переключателями:

cd project
git daemon --reuseaddr --base-path=. --export-all --verbose

Это говорит git -daemon, чтобы обслуживать все проекты внутри текущего каталога (который я предполагаю - это каталог проекта, содержащий папку .git/). Он также говорит, что он повторно использует один и тот же адрес, если вы его закроете и запустите слишком быстро.

Вы можете поместить это в пакетный script с легко запоминающимся именем, например "gitserve", поэтому вам не нужно вводить его снова. Как было предложено в некоторых комментариях, в последних версиях Git вы можете добавить псевдоним в конфигурацию Git:

[alias]
    serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git

Как только это будет сделано на сервере (ваше окно Windows), вы можете сделать:

git serve

git -daemon использует протокол git://для транспорта, поэтому на клиенте (ваш Linux-ящик) вам нужно будет:

git clone git://123.456.789.111/ project

Ответ 2

Вместо того, чтобы писать собственную партию script, используйте gitjour. Он знает, как запустить демон git правильно и будет транслировать URL-адрес клона через mDNS, чтобы вы могли сделать gitjour show в окне linux и скопировать и вставить.

Также хорошая статья с обзором gitjour и ряда других подобных инструментов от Dr. Nic, Что такое * jour и почему они являются приложениями-убийцами для RailsCamp08.

Ответ 3

В настоящее время используется два псевдонима - служба и концентратор. Служить для совместного доступа только для чтения и концентратора для совместного использования для чтения/записи:

[alias]
  serve = !git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
  hub = !git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors --verbose

Кроме того, имеется более подробное руководство по обмену данными через git daemon: http://l.rw.rw/git-daemon.

Ответ 4

Если вы просто хотите открыть репозиторий с помощью веб-браузера

git-instaweb

$ git instaweb -d apache2 --start
$ lynx localhost:1234

Ответ 5

Вот альтернативный способ. Вам понадобится python.

  • run git update-server-info
  • перейдите в каталог .git
  • run python -mSimpleHTTPServer

(просто создайте псевдоним в своем gitconfig)

Теперь вы можете вывести репо с помощью git pull http://HOST_NAME:8000/

PS: при использовании демона git вы можете установить --base-path=.git, чтобы URL был git://HOST/

Ответ 6

git -webui - это расширение git, которое предоставляет веб-интерфейс пользователя и возможность клонирования/вытягивания с других компьютеров.

https://github.com/alberthier/git-webui

$ cd my_git_repo
$ git webui

Другие люди могут

$ git clone http://<ip-of-your-computer>:8000/ repoclone

или

$ git pull http://<ip-of-your-computer>:8000/