跳转至

git 默认分支从master改为main

为什么我git init 创建的仓库分支默认叫master 有的叫main 这是 Git 版本和配置差异导致的。简单解释:

原因

  1. 历史默认:Git 最初默认分支叫 master,这个命名延续了二十多年
  2. 2020年的变化:出于对术语包容性的考虑(避免使用与奴隶制相关的词汇),GitHub、GitLab 等平台将默认分支改为 main
  3. 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 了。