最小的git http服务器
emergency-git-server的Python项目详细描述
用于
- 紧急情况
- 本地、特别实验
- Git教育
不建议日常使用,除非安全和性能 没有问题。需要正常的git安装。
实际上不需要git clone或pip install,因为这是 一个文件。请参见--help以获取可用的选项,如basic auth, 在克隆时创建、在推送时创建、SSL/TLS等。
示例
- 用例
- 不需要ssh/nfs/smb的某些虚拟机或容器 文件夹共享或卷映射不值得配置
- 在主机上
laptop:~$ curl -L "$github_raw_url"| python3 - ./www Serving over port 8000 ...
- 在客户机上
[my_vm]# git clone http://laptop.local:8000/repos/my_repo.git Cloning ...
- 一些注意事项
您的网络设置可能要求您提供一个IP地址 (可能是虚拟桥)代替localhost或 laptop.local。将该(或0.0.0.0)作为_HOST导出到 服务器环境。
正在克隆的$GIT_DIR(.git文件夹或裸repo)必须 位于“document root”(~/www下面的2+级 以上)。如果有问题,导出_FIRST_CHILD_OK=1或 虚拟树并将链接嵌套到回购:
~/ ├── www/ │ └── repos/ │ └── my_repo.git -> ../../my_repo/.git └── my_repo/ └── .git/
非裸回购必须将receive.denyCurrentBranch选项设置为 updateInstead以便接收推送并更新工作 目录。(当推送的分支是 在接收端签出。)
laptop:my_repo$ git config --add receive.denyCurrentBranch "updateInstead"