日常开发中常遇到的问题
刚进公司那会儿,我在配新电脑时被卡住了。同事甩来一个Git仓库地址,让我赶紧拉代码跑起来。我复制粘贴执行:
git clone https://github.com/company/project.git结果没反应,提示要输用户名密码。可我明明开了双因素认证,根本没法输密码。后来才知道,这叫HTTPS方式克隆,对新手友好但容易踩坑。而老手们早就默认用SSH了。
两种方式的本质区别
HTTPS地址长这样:https://github.com/username/repo.git,谁都能访问公开项目,但提交时得验证身份。就像去图书馆借书,进门可以随便进,但借走得刷身份证。
SSH地址是:git@github.com:username/repo.git。它靠密钥对确认你是谁。相当于你办了张借书卡,刷卡直接通行,不用每次都输证件号。
什么时候该用HTTPS
你在客户现场临时调试,用的是他们的公共电脑,不可能配SSH密钥。这时候用HTTPS最安全,完事清空缓存就行。
公司内部系统对接Jenkins这类CI工具,配置凭证方便统一管理。运维人员喜欢批量处理账号权限,HTTPS配合个人访问令牌(PAT)更可控。
新手刚学Git,GitHub网页上点“Code”按钮,默认给的就是HTTPS链接,照着教程一步步来不容易出错。
多数情况下推荐SSH
你自己日常开发用的主力机,应该配好SSH密钥。生成命令很简单:
ssh-keygen -t ed25519 -C "your_email@example.com"一路回车,然后把~/.ssh/id_ed25519.pub里的公钥内容贴到GitHub/GitLab账户设置里。下次克隆项目就再也不用手动登录了。尤其当你每天要切十几个分支、提交多次代码时,省下的时间够喝两杯咖啡。
常见问题怎么破
有人说“公司防火墙拦SSH”,其实99%的情况不是墙的问题,是你没走对端口。默认SSH走22端口,有些网络环境禁用了。解决方案是改用HTTPS端口传SSH流量,在~/.ssh/config里加一行:
Host github.com\n Hostname ssh.github.com\n Port 443还有人抱怨“换了电脑又要重配”。现在有办法解决——用硬件密钥比如YubiKey,或者把私钥加密后存保险的地方,换设备导入就行。别直接发微信或邮箱传私钥文件。
最终建议看使用场景
固定设备+频繁操作 → 选SSH
临时环境+一次性的 → 用HTTPS
团队协作+权限分级 → 根据策略定
我现在的习惯是:自己电脑一律用SSH,客户服务器上临时查看代码就用HTTPS加临时令牌,用完即删。两种方式都懂,才能灵活应对各种办公网络状况。