你好,main!Git 3.0 正式和 master 说拜拜
还记得第一次用 git init 时,那个自动生成的 master 分支吗?从 2026 年底即将发布的 Git 3.0 开始,这个默认分支名将正式变为 main。这不仅是技术版本号的大升级,更是一场持续数年的命名之争的阶段性落幕。

🔄 一场早有预谋的“改名行动”
其实,这场变革并非突然而至。早在 2020 年 10 月,GitHub 就率先行动,将所有新仓库的默认分支从 master 改为了 main。GitLab 等其他平台也迅速跟进。
而 Git 本身也在 2.28.0 版本(2020年7月发布)就埋下了伏笔,引入了 init.defaultBranch 配置项,允许用户自行定义默认分支名,不再死守 master。从那时起,你就可以通过一行命令,让自己的 Git 提前进入“main”时代:
git config --global init.defaultBranch main
🤔 为什么非要改名?master 得罪了谁?
这远不止是一个名字那么简单。master 一词在技术领域长期被使用,但其背后关联的“master/slave”(主/从)架构术语,因其暗示了奴役和不平等的历史隐喻,近年来受到越来越多的审视和批评。在推动行业用语更具包容性(inclusive)的浪潮下,继续使用 master 作为默认名称显得不合时宜。
于是,社区开始寻找一个简短、易记、跨语言友好且中性的新名字。main 因其意为“主要的”、“主干”,完美承接了“默认分支”的核心地位,从而脱颖而出。
当然,并非所有人都买账。有人认为这是“政治正确”的过度反应,但更多的开发者认为,这只是一个小小的改动,却能传递出 tech 社区欢迎所有人的善意。正如一份开发者调查显示,超过半数的受访者支持这次更名。
🌪️ 改名带来的烦恼
理想很丰满,但现实中的过渡却带来了一些小麻烦。许多人的工具链和 IDE 曾预设分支名为 master,当平台方率先改为 main 后,新旧仓库之间出现了不一致,导致了一些混淆和配置上的小问题。教授们发现,学生的旧工具设置仍然期望 master,他们不得不花时间处理这些“历史遗留问题”。这也催生了许多教程和指南的更新,提醒大家注意检查自己使用的到底是 master 还是 main。
🚀 Git 3.0:不止是改名那么简单
即将到来的 Git 3.0 将这次更名“扶正”,意味着即使用户没有进行任何配置,全新的 Git 初始化仓库也将默认使用 main。
但这版更新的重磅内容远不止于此。它还将:
- 弃用 SHA-1,转向更安全的 SHA-256 哈希算法。
- 引入对 macOS 和 Windows 系统优化后的新存储格式。
- 正式将 Rust 语言整合到其构建流程中。
所以,Git 3.0 是一次大版本更新。
📖 所以,现在该怎么做?
- 无需恐慌:旧仓库依然可以继续使用
master,Git 不会强制修改,这是为了向后兼容。 - 习惯新名字:从今天开始,尝试在新项目中使用
main,熟悉它。 - 检查你的配置:如果你希望统一体验,可以用上文提到的命令设置全局默认分支为
main。 - 保持包容心态:当你看到别人的仓库用的是
master时,要知道那可能只是一个还没来得及更改的旧项目而已。
消息来源:https://thoughtbot.com/blog/git-3-0-will-use-main-as-the-default-branch


发表回复