最小的git http服务器

emergency-git-server的Python项目详细描述


用于

  1. 紧急情况
  2. 本地、特别实验
  3. Git教育

不建议日常使用,除非安全和性能 没有问题。需要正常的git安装。

实际上不需要git clonepip 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 ...
一些注意事项
  1. 您的网络设置可能要求您提供一个IP地址 (可能是虚拟桥)代替localhostlaptop.local。将该(或0.0.0.0)作为_HOST导出到 服务器环境。

  2. 正在克隆的$GIT_DIR.git文件夹或裸repo)必须 位于“document root”(~/www下面的2+级 以上)。如果有问题,导出_FIRST_CHILD_OK=1或 虚拟树并将链接嵌套到回购:

    ~/
    ├── www/
    │   └── repos/
    │       └── my_repo.git -> ../../my_repo/.git
    └── my_repo/
        └── .git/
    
  3. 非裸回购必须将receive.denyCurrentBranch选项设置为 updateInstead以便接收推送并更新工作 目录。(当推送的分支是 在接收端签出。)

    laptop:my_repo$ git config --add receive.denyCurrentBranch "updateInstead"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?