git - 有哪些工具可以简单地一次性共享 git 存储库?

标签 git

我似乎经常遇到这样的场景,我想快速给别人一种方法来克隆一个 git 仓库,例如我的笔记本电脑,我想在不运行 SSH 守护程序、git 守护程序或任何其他需要配置(甚至访问控制)的服务的情况下执行此壮举。

到目前为止,我想到的最简单的方法是安装 adsf Ruby 的命令行 Web 服务器 gem,确保运行 git update-server-info然后运行 ​​adsf在我要共享的目录中。例如,如果我在 repo 的根目录下运行它,我会告诉对方克隆 http://<my_hostname_or_ip>:3000/.git ,或服务器启动的任何端口。

这工作得很好,但确实有并发访问引起的问题的警告,并且需要安装 Ruby 和特定的 gem。

您使用或知道执行类似功能的其他工具或技巧有哪些?

编辑:澄清一下,我正在寻找类似 hg serve 的解决方案:临时、快速且无痛,需要最少的设置且无需持久服务。

最佳答案

从某个地方运行它。

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 简单得多。

关于git - 有哪些工具可以简单地一次性共享 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817095/

相关文章:

Git:从另一个分支获取更改

git - `--name` 选项没有 't work with ` git submodule add` 命令

Git 无法克隆存储库

git - 错误 : Your local changes to the following files would be overwritten by checkout

python - Git merge : conflict I don't know how to resolve

git - 使用 Git merge 选定的代码行?

gitk 相当于 git log --follow <文件的完整路径>

git - 使用 Jenkins Git 插件的 SSH key 在构建期间运行 Git 命令

git - 如何只打开 git 仓库的一部分

linux - 通过 SSH 访问远程 Git 存储库时使用 su/sudo