Git默认分支配置异常:新建Cargo项目分支被设为zmk-config
新建Git仓库默认分支为zmk-config的解决方法
问题背景
在~/zmk-config目录有一个Git仓库,分支名为zmk-config,但现在在非子目录下新建的所有Git仓库(包括通过cargo new创建的Rust项目),默认分支都变成了zmk-config,而非项目名称对应的分支(如预期的vcs_test)。
示例操作
~ -> pwd /Users/uname -> cd ~/zmk-config zmk-config on branch zmk-config -> git show commit a1... (HEAD -> zmk-config) trying to change head ... -> cd ~/rust /Users/uname/rust -> cargo new vcs_test building... -> cd vcs_test vcs_test on branch zmk-config v1.78.0 ->
预期结果
-> cd vcs_test vcs_test on branch vcs_test
已尝试过移除仓库.git目录重新初始化、执行git reset、使用cargo new vcs_test --vcs none创建项目,均未解决问题。通过git config --list --show-origin确认,全局Git配置中存在init.defaultbranch=zmk-config,这是导致问题的根源。
解决步骤
修改全局Git默认分支配置
执行以下命令修改全局默认分支设置,将其改为你期望的默认分支名:
- 设置为当前主流的
main分支:
git config --global init.defaultBranch main
- 若偏好传统的
master分支:
git config --global init.defaultBranch master
- 若想让新仓库默认使用项目名称作为分支名(如示例中的
vcs_test),Git本身无直接支持,但可通过以下方式实现:- 创建项目后进入目录,执行分支重命名:
git branch -m zmk-config vcs_test - 或者初始化仓库时手动指定分支名:
git init -b vcs_test
- 创建项目后进入目录,执行分支重命名:
验证修改效果
修改完成后,重新创建测试项目:
cd ~/rust cargo new test_proj cd test_proj
此时终端应显示当前分支为你设置的默认分支名(如main),或手动指定的名称。
内容的提问来源于stack exchange,提问作者james-myles
相关产品推荐
相关产品推荐

