Node.js git://和git+有什么不同;https://?
我想将git存储库添加到我的package.json中Node.js git://和git+有什么不同;https://?,node.js,git,Node.js,Git,我想将git存储库添加到我的package.json中 { "dependencies": { "dep1": "git+https://url1", "dep2": "git://url1" } 当我运行dep1时,它工作了,而dep2失败了。 git+https和git://之间有什么区别? 结果是一样的吗? 是否需要向.git添加内容?参考问题 “这意味着连接可以同时使用http和git协议。下面对协议进行了说明。” 实际上,您只是
{
"dependencies": {
"dep1": "git+https://url1",
"dep2": "git://url1"
}
当我运行dep1时,它工作了,而dep2失败了。
git+https
和git://
之间有什么区别?
结果是一样的吗?
是否需要向.git添加内容?参考问题
“这意味着连接可以同时使用http和git协议。下面对协议进行了说明。”
实际上,您只是添加了git使用HTTPS传输数据的功能。更多详细信息包含在链接中。参考问题
“这意味着连接可以同时使用http和git协议。下面对协议进行了说明。”
实际上,您只是添加了git使用HTTPS传输数据的功能。更多详细信息包含在链接中。您的dep1是https协议和git协议
dep1:“git+https://url1“
您的DEP2只是git协议
dep2”:git://url1:
您之所以能够成功使用dep1而不是dep2,是因为您使用的是通过https进行身份验证的web服务器。您似乎没有处理git服务器,因此dep2是多余的,可以删除
至于不要重新发明轮子或半抄袭他人。这里有一些好的读物供感兴趣的人阅读
如果感兴趣,这是git协议上的一个长度阅读。
<>这太长了,读不下去了。
您的dep1是https协议和git协议
dep1:“git+https://url1“
您的DEP2只是git协议
dep2”:git://url1:
您之所以能够成功地使用dep1而不是dep2,是因为您使用的是通过https进行身份验证的web服务器。您似乎没有处理git服务器,因此dep2是多余的,可以删除
不要重复发明轮子或半抄袭他人。这里有一些很好的读物供感兴趣的人阅读
如果感兴趣,这是git协议上的一个长度阅读。
这提供了一个良好的tl;dr.对协议的理解。
它向NPM包管理器表明您希望使用git,存储库URL为
https://url1
是git
、git+ssh
、git+http
、git+https
或git+file
中的一种
如果您直接与git对话,您只会说
GitClonehttps://url1
,但NPM可以使用其他协议,如文件:
,或https:
,通过普通https下载tarball。其他包管理器,如pip
它向NPM包管理器表明您希望使用git,存储库URL为https://url1
是git
、git+ssh
、git+http
、git+https
或git+file
中的一种
如果您直接与git对话,您只会说
GitClonehttps://url1
,但NPM可以使用其他协议,如文件:
,或https:
,通过普通https下载tarball。其他包管理器,如pip
有几种协议可用于引用package.json中的依赖项:
git,
git+ssh,
git+http,
git+https和
git+文件
和往常一样,所有协议都有优缺点
不同之处在于,使用git:
您使用的是本机git协议,而使用git+https:
您通过https访问git repo(例如,您也可以使用SSH而不是https,但服务器需要支持它)
git协议速度非常快,但缺少身份验证或加密
git+https非常适合公共回购,它可以与代理和防火墙配合使用,但如果需要身份验证,则需要提供用户名和密码
git+ssh适用于私有repo,因为它使用ssh公钥进行身份验证,无需输入密码
git+文件用于引用您自己的文件系统上的repo,通常是本地文件,但也可以与SMB或NFS的远程文件一起使用
现在,如果您想将git+http
更改为git
,那么只有在安装了git服务器并在同一主机上侦听并提供相同的repo时,它才会起作用
这就像在URL中将http:
更改为ftp:
——只有在同一主机上安装了ftp服务器并且为相同的文件提供服务时,才能工作
底线是,您只能使用服务器支持的那些协议
见文件:
git:
您使用的是本机git协议,而使用git+https:
您通过https访问git repo(例如,您也可以使用SSH而不是https,但服务器需要支持它)
git协议速度非常快,但缺少身份验证或加密
git+https非常适合公共回购,它可以与代理和防火墙配合使用,但如果需要身份验证,则需要提供用户名和密码
git+ssh适用于私有repo,因为它使用ssh公钥进行身份验证,无需输入密码
git+文件用于引用您自己文件系统上的回购协议