在开发中,经常要从远程仓库克隆项目到本地。打开GitHub、GitLab这类平台,复制链接时总有两个选项:HTTPS和SSH。新手常懵——到底该用哪个?其实两者都能完成任务,但适用场景不同。
HTTPS:最简单,适合入门
HTTPS方式最直接,复制链接后直接克隆,不需要额外配置。比如:
git clone https://github.com/username/project.git
每次推送代码时会弹出账号密码输入框,现在大多平台已不再支持明文密码,而是要求使用个人访问令牌(Token)。只要把Token当成密码输入就行。这种方式适合刚接触Git的人,或者在公共电脑上临时操作。
SSH:一劳永逸,适合长期开发
SSH需要提前生成密钥对,并把公钥添加到你的GitHub或GitLab账户中。配置完成后,后续所有操作都不再需要输密码。
克隆命令长这样:
git clone git@github.com:username/project.git
你在公司电脑配好一次SSH密钥,之后拉代码、推代码全都是无感操作,特别适合每天频繁交互的项目。就像家里大门装了指纹锁,刷一下就进,不用每次都掏钥匙。
网络环境也可能影响选择
有些公司网络限制严格,只允许HTTP/HTTPS流量通过,SSH端口(默认22)被屏蔽。这时候即使你配好了密钥也连不上。反过来,在家里或云服务器上,SSH通常更稳定,不会因为忘记登录网页而中断认证。
换电脑了怎么办?
用HTTPS的话,只要有账号和Token,随时随地都能操作。而SSH得把私钥复制过去,还得小心保管,不能泄露。很多人习惯把密钥存在密码管理器里,换设备时手动恢复。
安全性和便利性的权衡
HTTPS依赖Token,可以随时在网页端撤销某个Token,控制更细。SSH密钥一旦丢失且没设密码保护,别人就能冒用。但从使用频率看,SSH减少了重复输入,降低了误输凭证的风险。
如果你是日常开发者,推荐配SSH;如果是偶尔操作,或者在不熟悉的机器上工作,HTTPS加Token更稳妥。