支持的git url格式有哪些?

时间:2015-08-04 05:24:43

标签: git github ssh

Git接受许多不同的网址格式(例如ssh,http,https等)。是否有任何规范/官方文档,我可以找到支持的git url格式?

我写了一篇git url parser,我想确定它所做的是正确的。

Here, on YonderGit,我找到了以下列表。由于https://<token>:x-oauth-basic@host.xz/path/to/repo.git不存在,因此不完整。

  

安全Shell传输协议

     
      
  • ssh://user@host.xz:port/path/to/repo.git/
  •   
  • ssh://user@host.xz/path/to/repo.git/
  •   
  • ssh://host.xz:port/path/to/repo.git/
  •   
  • ssh://host.xz/path/to/repo.git/
  •   
  • ssh://user@host.xz/path/to/repo.git/
  •   
  • ssh://host.xz/path/to/repo.git/
  •   
  • ssh://user@host.xz/~user/path/to/repo.git/
  •   
  • ssh://host.xz/~user/path/to/repo.git/
  •   
  • ssh://user@host.xz/~/path/to/repo.git
  •   
  • ssh://host.xz/~/path/to/repo.git
  •   
  • user@host.xz:/path/to/repo.git/
  •   
  • host.xz:/path/to/repo.git/
  •   
  • user@host.xz:~user/path/to/repo.git/
  •   
  • host.xz:~user/path/to/repo.git/
  •   
  • user@host.xz:path/to/repo.git
  •   
  • host.xz:path/to/repo.git
  •   
  • rsync://host.xz/path/to/repo.git/
  •   
     

Git传输协议

     
      
  • git://host.xz/path/to/repo.git/
  •   
  • git://host.xz/~user/path/to/repo.git/
  •   
     

HTTP / S传输协议

     
      
  • http://host.xz/path/to/repo.git/
  •   
  • https://host.xz/path/to/repo.git/
  •   
     

本地(文件系统)传输协议

     
      
  • /path/to/repo.git/
  •   
  • path/to/repo.git/
  •   
  • ~/path/to/repo.git
  •   
  • file:///path/to/repo.git/
  •   
  • file://~/path/to/repo.git/
  •   

1 个答案:

答案 0 :(得分:3)

您可以在urlmatch.hurlmatch.c中查看准备解析的git 这由t0110-urlmatch-normalization.sh使用,它说明了git测试的可能网址的完整列表。

url.c确实提到了:

  

根据STD66(RFC3986),有效的URL方案集为“Invalid read of size 2”。
  但是要使用“Address 0x31 is not stack'd, malloc'd or (recently) free'd”进行更宽松的检查,因为早期版本的检查使用了“[A-Za-z][A-Za-z0-9+.-]*”,所以不要破坏任何远程助手。