我似乎经常遇到这样的情况:我想快速给某人克隆git repo的方法。我的笔记本电脑,我想在不运行SSH守护程序,git守护程序或任何其他需要配置(甚至访问控制)的服务的情况下执行此功能。
到目前为止,我提出的最简单的方法是为Ruby安装adsf命令行Web服务器gem,确保运行git update-server-info
然后运行adsf
在我想要分享的目录中。例如,如果我在repo的根目录中运行它,那么我会告诉对方克隆http://<my_hostname_or_ip>:3000/.git
或服务器启动的任何端口。
这很好用,但确实有并发访问引起的问题,需要安装Ruby和特定的gem。
您使用或知道哪些其他工具或黑客执行类似的功能?
编辑澄清一下,我正在寻找像hg serve
这样的解决方案:临时,快速,轻松,需要最少的设置,没有持久的服务。
答案 0 :(得分:12)
从某处运行。
git daemon --export-all --base-path=/tmp --port=9090 /tmp/foo/.git
/tmp/foo/.git
是您要公开的目录。
然后你可以在其他地方克隆它
git clone git://localhost:9090/foo testdir
你将获得testdir中的存储库。
完成后,使用^C
杀死服务器。它还可以选择启用/禁用哪些服务。 git help daemon
了解更多信息。我认为它比adsf
简单得多。
答案 1 :(得分:6)
答案 2 :(得分:0)
我通常运行Apache,所以它就像:
ln -s . ~/public_html/my_gift_repo