我想知道如何像Mercurial的hg服务一样简单地通过http =发布!在Windows /工作框上执行以下操作:
git serve
然后在Linux盒子上简单地执行以下操作:
git clone http://project project
完成。
我想知道如何像Mercurial的hg服务一样简单地通过http =发布!在Windows /工作框上执行以下操作:
git serve
然后在Linux盒子上简单地执行以下操作:
git clone http://project project
完成。
Answers:
导航到您的项目,并使用以下开关启动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
提供的Web界面。
serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
与其编写自己的批处理脚本,不如使用gitjour。它知道如何正确启动git守护程序,并将通过mDNS广播克隆URL,因此您可以gitjour show
在linux机器上进行复制和粘贴。
也是一篇不错的文章,概述了gitjour和Nic博士的许多其他类似工具,“ * 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守护程序进行共享的详细教程:http : //l.rw.rw/git-daemon。
git-webui是一个git扩展,它提供基于Web的用户界面以及从其他计算机克隆/拉取的能力
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年2月)允许您将python和git instaweb
:
参见Arti Zirk()的commit 2eb14bb(2019年1月28日)。(通过合并JUNIOÇ滨野- -在提交abf39e3,2019年2月5日)artizirk
gitster
git-instaweb
:添加Python内置http.server
支持通过此补丁,可以通过选项
git-instaweb
使用Pythonhttp.server
CGI处理程序来启动-d python
。
git-instaweb
会在http.server
(中GIT_DIR/gitweb/
)周围生成一个小的包装程序,以解决CGI处理程序的局限性,在这种情况下,CGI脚本必须位于cgi-bin
子目录中,并且无法轻松更改目录索引。为了使实现保持较小,gitweb
它在url上运行,/cgi-bin/gitweb.cgi
并且在打开时会自动重定向/
。生成的包装器与Python 2和3兼容。
默认情况下,Python安装在大多数现代Linux发行版中,从而
git instaweb -d python
无需其他任何功能即可运行。