执行git config pull.rebase true后配置存储位置及查询问题
Git pull.rebase 配置存储位置与查找问题解答
配置存储的三个层级
git config的配置按生效范围分为三个层级,不同层级存储位置不同:
- 仓库级(默认,执行命令时不加作用域参数):配置存储在当前Git仓库根目录的
.git/config文件内,仅对当前仓库生效。你执行的git config pull.rebase true如果没有加--global或--system参数,就会写入这个文件。 - 用户级(加
--global参数):存储在当前系统用户目录下的配置文件中(Windows路径为C:\Users\你的用户名\.gitconfig,Linux/macOS路径为~/.gitconfig),对该用户下的所有Git仓库生效。 - 系统级(加
--system参数):存储在Git安装目录的系统级配置文件中,对设备上所有用户的所有Git仓库生效。
未查到配置的常见原因
- 执行
git config -l时不在对应Git仓库目录下:git config默认仅读取当前工作路径所属仓库的本地配置,如果你执行查询命令时已经切换到仓库外的路径,就不会加载仓库级的pull.rebase配置。你可以执行git config --local -l强制读取当前仓库的本地配置排查。 - 混淆了仓库级配置和分支专属配置:Git不存在仅对单个分支生效的
pull.rebase配置项,如果你要为指定分支设置pull时默认rebase,需要使用的配置关键字为branch.<分支名>.rebase,对应命令为git config branch.你的目标分支名.rebase true,你执行的pull.rebase是对整个仓库所有分支生效的配置,不属于分支专属配置。 - 可以分层级查询确认:执行
git config --local -l查仓库级配置,git config --global -l查用户级配置,git config --system -l查系统级配置,逐层排查即可找到对应配置。pull.rebase是官方标准配置关键字,不存在其他别名。
内容的提问来源于stack exchange,提问作者Anh Tu Do
相关产品推荐
相关产品推荐

