本地初始化用 git init -b main 创建 main 分支,已有仓库需重命名本地分支、推送并手动设置远程默认分支为 main,同时全局配置 git config --global init.defaultBranch main 可使新仓库默认使用 main。

直接改就行,但必须分清「本地初始化」和「已有仓库」两种情况,否则远程推送会失败或默认分支不生效。
git init 新建仓库时直接用 main
Git 2.28+ 支持 git init -b main,一步到位创建带 main 分支的新仓库。这条命令会跳过默认的 master,避免后续重命名和推送冲突。
- 如果已执行过
git init且当前是master分支,别急着删分支——先确认没人在用这个仓库,再继续下一步 -
git init -b main不影响已有配置,只作用于本次初始化 - 该命令在 CI/CD 脚本里也安全,无需额外判断分支是否存在
已有仓库从 master 切到 main(含远程同步)
这不是单纯改个名字的事:本地分支名、远程默认分支、CI/CD 工具识别的分支三者必须一致,否则部署脚本可能拉错代码。
- 先确保当前在
master分支:git checkout master - 重命名本地分支:
git branch -m master main - 推送到远程并设置上游:
git push -u origin main - 登录 GitHub/GitLab,在 Settings → Branches → Default branch 中手动选
main并保存 - 删掉远程旧分支(可选,但建议):
git push origin --delete master
全局配置让所有新仓库默认用 main
运行 git config --global init.defaultBranch main 后,以后所有 git init 都自动创建 main 分支。这个配置只影响新建仓库,不影响已有项目。
- 检查是否生效:
git config --global init.defaultBranch应输出main - 如果团队共用同一套开发环境,这条命令要在每个开发者机器上单独执行
- 某些老旧 CI 系统(比如 Jenkins 插件未更新)可能仍硬编码
master,得同步改配置
最容易被忽略的是远程平台上的默认分支设置——光改本地和推送新分支没用,GitHub/GitLab 的 UI 里那一步必须手动点选,否则 git clone 出来还是 master。


















