我最近将一个git存储库转移到了一个新组织。我运行了以下内容:
git remote set-url origin https://github.com/organizationname/therepo.git
我成功地从新位置拉/推。但是现在每次运行git命令时都会出现以下错误:
error: key does not contain a section: repositoryformatversion
error: key does not contain a section: filemode
error: key does not contain a section: bare
error: key does not contain a section: logallrefupdates
error: key does not contain a section: ignorecase
error: key does not contain a section: precomposeunicode
我最初认为它与我的配置文件有关,但这些字段存在。 My /.git/config
文件的第一行如下所示:
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
在this answer它建议检查--get-regex
但我没有在我的配置或.gitconfig
文件中看到任何引用。看起来我有2个git配置文件:
/usr/local/git/etc/gitconfig
和:
/Users/chmd/.gitconfig
我尝试将这些密钥添加到/Users/chmd/.gitconfig
文件中,但没有运气。我错过了哪些步骤来清除这些错误?根据以前的答案和研究,它似乎是我的配置,但我在我的gitconfig中包含这些字段?
实际上,问题出在.git/config
。你可能编辑了它,你错误地删除了该部分的名称。
Git配置文件中的值按部分分组。每个部分的名称放在单独的方括号之间。
您发布的值(从您的.git/config
开头)应保留在core
部分。让你的.git/config
文件看起来像:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
...
Git configuration分为几个部分。
它的:
你的.git/config
应该是这样的:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
# ...
将以下代码粘贴到终端,它将在VI文本编辑器中打开全局配置文件
git config --global --edit
按i在VI文本编辑器中写入并删除所有文本并粘贴以下内容
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
保存在VI按ESC和:wq并按回车键