git 默认分支从master改为main
为什么我git init 创建的仓库分支默认叫master 有的叫main 这是 Git 版本和配置差异导致的。简单解释:
原因
- 历史默认:Git 最初默认分支叫 master,这个命名延续了二十多年
- 2020年的变化:出于对术语包容性的考虑(避免使用与奴隶制相关的词汇),GitHub、GitLab 等平台将默认分支改为 main
-
Git 版本差异:
- Git 2.28 之前(2020年7月前):默认始终是 master
- Git 2.28+:增加了 init.defaultBranch 配置选项
- Git 2.32+:初始化时如果检测到已有 main 分支,会自动使用 main
如何查看和修改
## 查看当前默认分支配置
git config --get init.defaultBranch
## 全局设置默认分支为 main
git config --global init.defaultBranch main
## 全局设置默认分支为 master
git config --global init.defaultBranch master
总结
- 你的系统如果默认创建 main,说明你的 Git 版本较新,且配置了 init.defaultBranch=main(或安装时自动设置)
- 如果创建的是 master,说明使用的是旧版本 Git 或没有修改过配置
两者功能完全一样,只是名字不同。现在主流项目基本都用 main 了。