我想知道如何简单地发布http =就像Mercurial的hg服务一样!在Windows /工作框上执行以下操作:
git serve
然后在Linux框上SIMPLY去:
git clone http://project project
完了.
导航到您的项目并使用以下开关启动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
不要编写自己的批处理脚本,而是使用gitjour.它知道如何正确启动git守护进程并通过mDNS广播克隆URL,这样你就可以gitjour show
在linux框上进行复制和粘贴.
也是一篇很好的文章,概述了gitjour以及Nic博士的其他一些类似工具,什么是*jour以及为什么它们是RailsCamp08的杀手级应用程序.
目前使用两个别名 - 服务和集线器.为读/写共享服务于只读共享和集线器:
[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.
如果您只想使用Web浏览器公开存储库
混帐instaweb
$ git instaweb -d apache2 --start $ lynx localhost:1234
这是另一种方式.你需要安装python.
跑 git update-server-info
转到.git
目录
跑 python -mSimpleHTTPServer
(只需在你的gitconfig中创建一个别名)
现在你可以拉回购物 git pull http://HOST_NAME:8000/
PS:当使用git守护进程解决方案时,你可以设置--base-path=.git
url是git://HOST/