git在拉取“别人”(注意:不是自己) 的项目代码的时候,有ssh和https两种方式,有什么区别呢?

发在拉取别人的代码的时候,这两种方式都不用输入用户名密码,几乎是一模一样的,
难道区别是在于pull request的时候吗?

pull别人的和pull自己的没有任何区别。PR是GitHub这样的网站的feature,不是git的。

push的时候,ssh第一次要输,自动传rsa_id过去以后就不用输了;https每次都要输,除非你用了credential.helper store,但这样会把账号和密码明文保存在.git-credentials里。

追问

我的意思是,比如在github或者gitee上看到一个有意思的项目,我并没有和这个项目的作者有过任何合作经历,完全陌生的项目,但是想把这个项目拉下来自己跑一下,但是拉取代码的时候有2种命令:$ git clone ,试了一下,2种url在拉取的时候完全一模一样,也不需要输入密码,那在这种情况下拉取的这两种写法有什么不同呢?难道是在push的时候才有区别?

追答

协议不同,remote的url不同,push会用和pull同样的协议,然后就是我上面说的了。

追问

那就是说,如果我要pull request 那么前面选择这两种url就有区别了是吗?如果也就下载下来跑一下,不push任何东西,就没有什么区别对吗?

追答

git无法进行PR,如果目标仓库没有写的权限会直接被拒绝

追问

嗯嗯,明白了~谢谢你啦

温馨提示:答案为网友推荐,仅供参考
相似回答