使用gh cli创建仓库时为何生成master分支而非main分支?
为什么gh cli创建的仓库默认分支是master而非main?
这主要和本地Git的全局配置以及gh cli自身的分支配置有关:
- 本地Git的
init.defaultBranch全局配置:如果你的Git全局设置里这个参数的值还是master,使用gh repo create <reponame> --public --clone创建并克隆仓库时,gh cli会沿用这个配置来设置本地和远程仓库的默认分支。GitHub平台虽已将默认分支改为main,但gh cli会优先遵循本地Git的分支命名偏好。 - gh cli的专属配置:gh cli有
repo.create.defaultBranch配置项,若手动设置过这个值,它会覆盖Git的全局配置;未配置该项时,gh cli会 fallback 到Git的全局默认分支设置。
如果要让gh cli默认创建main分支,你可以执行以下操作之一:
- 修改Git全局默认分支:
git config --global init.defaultBranch main - 单独配置gh cli的默认分支:
gh config set repo.create.defaultBranch main
内容的提问来源于stack exchange,提问作者Rakshit Ambi
相关产品推荐
相关产品推荐

