Git服务:我希望这很简单

Set*_*ori 136 windows git mercurial

我想知道如何简单地发布http =就像Mercurial的hg服务一样!在Windows /工作框上执行以下操作:

git serve 
Run Code Online (Sandbox Code Playgroud)

然后在Linux框上SIMPLY去:

git clone http://project project 
Run Code Online (Sandbox Code Playgroud)

完了.

sea*_*ges 195

导航到您的项目并使用以下开关启动git-daemon:

cd project
git daemon --reuseaddr --base-path=. --export-all --verbose
Run Code Online (Sandbox Code Playgroud)

这告诉git-daemon提供当前目录中的所有项目(我假设它是包含.git /文件夹的项目目录).它还告诉它重新使用相同的地址,如果你关闭并重新启动它太快.

你可以将它放入一个易于记忆的名称如"gitserve"的批处理脚本中,这样你就不需要再次输入它了.正如一些评论中所建议的,在最近的Git版本中,您可以为Git配置添加别名:

[alias]
    serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
Run Code Online (Sandbox Code Playgroud)

一旦在服务器(Windows框)上完成,您可以:

git serve
Run Code Online (Sandbox Code Playgroud)

git-daemon使用git://协议进行传输,因此在客户端(您的Linux机器)上,您需要执行以下操作:

git clone git://123.456.789.111/ project
Run Code Online (Sandbox Code Playgroud)

  • 我认为重要的是要注意虽然`git daemon`允许其他git客户端进行远程访问,但它缺少`hg serve`提供的Web界面. (8认同)
  • make.在.gitrc中使用别名:`serve =!git daemon --reuseaddr --verbose --base-path =.--export-all ./.git` (4认同)
  • 您可以将命令作为别名添加到.gitconfig文件中,如下所述:http://git.or.cz/gitwiki/Aliases#Serverepoonthespot (3认同)
  • 另外,如果您希望启用推送,则需要“--enable=receive-pack”参数。[[来源](http://stackoverflow.com/questions/792611/receive-pack-service-not-enabled-for-git)]我已经在[这个要点](https://gist .github.com/mx4492/1b144418911b48824919) (2认同)

Ott*_*tto 14

不要编写自己的批处理脚本,而是使用gitjour.它知道如何正确启动git守护进程并通过mDNS广播克隆URL,这样你就可以gitjour show在linux框上进行复制和粘贴.

也是一篇很好的文章,概述了gitjour以及Nic博士的其他一些类似工具,什么是*jour以及为什么它们是RailsCamp08的杀手级应用程序.


小智 12

目前使用两个别名 - 服务和集线器.为读/写共享服务于只读共享和集线器:

[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
Run Code Online (Sandbox Code Playgroud)

此外,还有更详细的关于通过git守护进程共享的教程:http://l.rw.rw/git-daemon.


Joh*_*Mee 11

如果您只想使用Web浏览器公开存储库

混帐instaweb

$ git instaweb -d apache2 --start
$ lynx localhost:1234
Run Code Online (Sandbox Code Playgroud)

  • 此工具似乎不兼容Windows.由于海报要求使用Windows工具,这是解决这个问题的重要因素. (6认同)
  • @syedrakib你需要安装lighttpd,或apache2,或其他东西.我个人在OS X上使用`git instaweb -d webrick`,因为webrick带有Ruby,它预装在OS X上. (4认同)

bar*_*ara 9

这是另一种方式.你需要安装python.

  • git update-server-info
  • 转到.git目录
  • python -mSimpleHTTPServer

(只需在你的gitconfig中创建一个别名)

现在你可以拉回购物 git pull http://HOST_NAME:8000/

PS:当使用git守护进程解决方案时,你可以设置--base-path=.giturl是git://HOST/