Я хочу знать, как просто публиковать через http = так же, как Mercurial hg serve! В окне Windows / work сделайте следующее:
git serve
а затем на коробке Linux ПРОСТО идите:
git clone http://project project
законченный.
Я хочу знать, как просто публиковать через http = так же, как Mercurial hg serve! В окне Windows / work сделайте следующее:
git serve
а затем на коробке Linux ПРОСТО идите:
git clone http://project project
законченный.
git instaweb -d python
может быть недостаточно (с Git 2.21, февраль 2019 г.): см. Мой ответ ниже
Ответы:
Перейдите в свой проект и запустите git-daemon со следующими переключателями:
cd project
git daemon --reuseaddr --base-path=. --export-all --verbose
Это указывает git-daemon обслуживать все проекты в текущем каталоге (который, как я предполагаю, является каталогом проекта, содержащим папку .git /). Он также сообщает ему повторно использовать тот же адрес, если вы выключите его и слишком быстро запустите его резервное копирование.
Вы можете поместить это в пакетный скрипт с легко запоминающимся именем, например "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
git daemon
позволяет удаленный доступ другим клиентам git, ему не хватает веб-интерфейса, который hg serve
предоставляет.
serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
Вместо того, чтобы писать собственный пакетный скрипт, используйте gitjour . Он знает, как правильно запустить git daemon, и будет транслировать URL-адрес клона через mDNS, чтобы вы могли сделать это gitjour show
в окне Linux и скопировать и вставить.
Также хорошая статья с обзором gitjour и ряда других подобных инструментов от Dr. Nic, What is * jour и почему они являются убийственными приложениями для RailsCamp08 .
В настоящее время используются два псевдонима - serve и hub. Служить для общего доступа только для чтения и концентратора для общего доступа для чтения и записи:
[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 .
Если вы просто хотите открыть репозиторий с помощью веб-браузера
$ git instaweb -d apache2 --start
$ lynx localhost:1234
lighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
git instaweb -d webrick
OS X, потому что webrick поставляется с Ruby, который предустановлен на OS X.
Вот альтернативный способ. Вам понадобится установленный Python.
git update-server-info
.git
каталогpython -mSimpleHTTPServer
(просто создайте псевдоним в своем gitconfig)
Теперь вы можете вытащить репо с помощью git pull http://HOST_NAME:8000/
PS: при использовании решения git daemon вы можете установить --base-path=.git
URL-адресgit://HOST/
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/
Git 2.21 (февраль 2019 г.) позволяет комбинировать python и git instaweb
:
См. Commit 2eb14bb (28 января 2019 г.) Арти Зирк ( artizirk
) .
(Объединено Junio C Hamano - gitster
- в фиксации abf39e3 , 5 февраля 2019 г.)
git-instaweb
: добавить встроеннуюhttp.server
поддержку PythonС этим патчем можно запускать
git-instaweb
с помощьюhttp.server
обработчика Python CGI через-d python
option.
git-instaweb
создает небольшую оболочку вокругhttp.server
(inGIT_DIR/gitweb/
), которая устраняет ограничение обработчика CGI, когда сценарии CGI должны находиться вcgi-bin
подкаталоге, а индекс каталога не может быть легко изменен. Чтобы реализация была небольшой,gitweb
он работает по URL-адресу,/cgi-bin/gitweb.cgi
и при открытии выполняется автоматическое перенаправление/
.Созданная оболочка совместима как с Python 2, так и с Python 3.
Python по умолчанию установлен в большинстве современных дистрибутивов Linux, что позволяет запускать его
git instaweb -d python
без необходимости чего-либо еще.