默认分支: 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-follower 或 primary-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 签名算法, 这会造成连接失败。
如果不能使用新算法生成密钥对,需要修改配置:
1 2 3 |
|
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月 |
参考
-
github/renaming: Guidance for changing the default branch name for GitHub repositories
-
https://www.openssh.com/txt/release-8.8