Git serve:我想这很简单

我想知道如何简单地发布http:就像Mercurial的hg serve一样! 在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 /文件夹的项目目录)。 它也告诉它重新使用相同的地址,如果你closures它,并启动备份太快。

你可以把它放到一个批处理脚本中,用一个容易记住的名字,比如“gitserve”,所以你不需要再把它全部输出。 正如在一些评论中所build议的那样,在最近的Git版本中,你可以给Gitconfiguration添加一个别名 :

 [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,这样你就可以在linux gitjour show上做gitjour show并复制和粘贴。

还有一篇很好的文章,介绍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中创build一个别名)

现在你可以通过git pull http://HOST_NAME:8000/

PS:当使用git守护进程解决scheme时,您可以设置--base-path=.git因此url是git://HOST/

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/