1+1=10

记记笔记,放松一下...

Git 杂记

默认分支: master vs main ?

好多年没在Github上创建新代码仓库,也没有更新公司内的gerrit2和gitlab。2年前突然间发现,天天看到的master分支,竟已经被main取代...

再仔细看看,变更竟发生在4年前:

时间 事件
2020年6月 GitHub 宣布将把默认分支名改为 main
2020年7月 Git 2.28.0 版本发布,允许用户通过配置选项自定义默认分支
2020年10月 GitHub 新建的仓库默认分支改为 main
2020年10月 GitLab 宣布从 2021 年起新建仓库使用 main 作为默认分支
2021年 其他git平台和工具(如 Bitbucket、Azure DevOps)开始支持 main 作为默认分支。

在此之前:

时间 事件
2014年 Django 宣布将 master-slave 替换为 leader-followerprimary-replica
2017年 Redis 将 master-slave 替换为 primary-replica
2020年 Black Lives Matter 运动引发对种族不公正和系统性种族主义的广泛讨论,推动科技行业重新审视用词。

好吧,更名原因竟然和主人奴隶有关。尽管main与master短也是一个可以说的优势。

Windows版Git的 openssh

在 Git for Windows 2.33.1 版本中,捆绑的 OpenSSH 升级到了 8.8p1 版本。OpenSSH 8.8 默认禁用了使用 SHA-1 算法的 ssh-rsa 密钥。

如果用的旧版的 RSA 密钥,并且默认使用 ssh-rsa 签名算法, 这会造成连接失败

如果不能使用新算法生成密钥对,需要修改配置:

Host *
    PubkeyAcceptedAlgorithms +ssh-rsa
    HostkeyAlgorithms +ssh-rsa
Git for Windows 版本 OpenSSH 版本 关键变化 发布时间
2.20.1 OpenSSH 7.9p1 初始版本 2018年12月
2.23.0 OpenSSH 8.0p1 更新到 8.0 版本 2019年8月
2.30.0 OpenSSH 8.4p1 更新到 8.4 版本 2021年1月
2.33.1 OpenSSH 8.8p1 禁用了使用 ssh-rsa 的 RSA 签名 2021年9月

Windows版Git的ssl

Git for Windows 版本 OpenSSL 版本 关键变化 发布时间
2.20.1 OpenSSL 1.0.2p 使用 OpenSSL 1.0.2 系列 2018年12月
2.23.0 OpenSSL 1.1.1c 升级到 OpenSSL 1.1.1 系列 2019年8月
2.30.0 OpenSSL 1.1.1i 持续更新 1.1.1 系列 2021年1月
2.42.0 OpenSSL 3.0.11 升级到 OpenSSL 3.0 系列 2023年9月

参考

Tools git