git@github.com:...和https://github.com / ...之间的区别?

时间:2016-11-17 15:44:29

标签: git github repository

我最近尝试构建一个项目,该项目具有声明为Github链接的各种依赖项。链接是公共Github存储库和我公司的私有Github Enterprise存储库的链接的混合。

部分链接采用格式

https://github.com/project/repo.git

有些人的格式是

git@github.com:project/repo.git

这些格式之间究竟有什么区别?哪种格式用于什么目的?

2 个答案:

答案 0 :(得分:6)

git可以在各种不同的协议上运行

http(s),例如 https://github.com/project/repo.git

它使用端口443(或80用于http),它允许读取和写入访问,密码用于auth(就像在github上它允许匿名读取访问但要求paasword写入)。和防火墙友好(它不需要任何infra配置。)

git@github.com:project / repo.git

它使用端口22,它允许读写访问,需要SSH密钥验证,所以如果你给你的公共ssh密钥,你的ssh协议将使用你的私钥与git进行身份验证,所以你不需要提供用户名密码。

使用SSH,每次使用git push命令时都不会要求您提供密码,因为ssh协议将使用私钥对存储库进行身份验证。

答案 1 :(得分:1)

https://github.com/project/repo.git

是HTTPS网址

git@github.com:project/repo.git

是SSH URL

两者都可用于执行git文件传输,但github建议通过SSH URL进行HTTPS,因为这些URL可以在任何地方使用 - 即使您位于防火墙或代理之后。

请参阅https://help.github.com/articles/which-remote-url-should-i-use/以获取更多信息。