不确定这是否是发布此问题的正确位置,但是:
当我尝试在我的Git bash窗口中执行任何操作时,我收到此错误:
fatal: unknown error occured while reading the configuration files
我在不同的配置下尝试了几次重新安装,并尝试了多次重启,没有任何帮助。我在Windows上质疑我的用户名,因为它里面有一个点(。)。由于某些原因,这会让Git感到困惑吗?如果是这样的话:是否有解决办法?
我似乎无法找到我的配置文件的位置,因为找到它的命令被破坏了相同的错误消息。
我在计算机上搜索了.gitconfig
个文件。我发现总共有4个文件:
C:\Program Files\Git\mingw64\etc\.gitconfig
C:\Program Files\Git\usr\share\vim\vim74\ftplugin\.gitconfig
C:\Program Files\Git\usr\share\vim\vim74\indent\.gitconfig
C:\Program Files\Git\usr\share\vim\vim74\syntax\.gitconfig
以下是每个文件的内容
... \ GIT中\ mingw64 \ etc.gitconfig
[credential]
helper = manager
... \ GIT中的\ usr \共享\ VIM \ vim74 \ ftplugin.gitconfig
" Vim filetype plugin
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2009 Dec 24
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
setlocal formatoptions-=t formatoptions+=croql
setlocal comments=:#,:; commentstring=;\ %s
let b:undo_ftplugin = "setl fo< com< cms<"
... \ GIT中的\ usr \共享\ VIM \ vim74 \ indent.gitconfig
" Vim indent file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal autoindent
setlocal indentexpr=GetGitconfigIndent()
setlocal indentkeys=o,O,*<Return>,0[,],0;,0#,=,!^F
let b:undo_indent = 'setl ai< inde< indk<'
" Only define the function once.
if exists("*GetGitconfigIndent")
finish
endif
function! GetGitconfigIndent()
let line = getline(prevnonblank(v:lnum-1))
let cline = getline(v:lnum)
if line =~ '\\\@<!\%(\\\\\)*\\$'
" odd number of slashes, in a line continuation
return 2 * &sw
elseif cline =~ '^\s*\['
return 0
elseif cline =~ '^\s*\a'
return &sw
elseif cline == '' && line =~ '^\['
return &sw
else
return -1
endif
endfunction
GIT中的\ usr \共享\ VIM \ vim74 \ syntax.gitconfig
" Vim syntax file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config
" Last Change: 2010 May 21
if exists("b:current_syntax")
finish
endif
setlocal iskeyword+=-
setlocal iskeyword-=_
syn case ignore
syn sync minlines=10
syn match gitconfigComment "[#;].*"
syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
syn keyword gitconfigBoolean true false yes no contained
syn match gitconfigNumber "\d\+" contained
syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
syn match gitconfigError +\\.+ contained
syn match gitconfigEscape +\\[\\"ntb]+ contained
syn match gitconfigEscape +\\$+ contained
hi def link gitconfigComment Comment
hi def link gitconfigSection Keyword
hi def link gitconfigVariable Identifier
hi def link gitconfigBoolean Boolean
hi def link gitconfigNumber Number
hi def link gitconfigString String
hi def link gitconfigDelim Delimiter
hi def link gitconfigEscape Delimiter
hi def link gitconfigError Error
let b:current_syntax = "gitconfig"
我运行Windows 7 x64 Professional。该计算机是域网络的一部分。
我用Google搜索了这个问题,当我第11页没有任何用处时放弃了。
答案 0 :(得分:3)
对我来说,问题是.gitconfig文件夹/ dir在用户//删除目录(.gitconfig)解决了问题,它现在正常工作。 click on this link to refer the image for solution
答案 1 :(得分:1)
我遇到了同样的问题,在一台属于域网络的机器上安装了Git。我按照this post第一部分中列出的说明在我的用户个人资料下在我的计算机上创建了$HOME
环境变量,并更正了问题。
问题是我们的组策略将主目录设置为网络上的位置。 Git for Windows配置为默认使用主目录进行多项设置,并且一些设置在网络或我的机器上更改(谁知道什么)破坏了在Git所需的网络位置中创建的配置文件的权限,以便功能
试试这个:
echo $HOME
,并记下打印的目录。echo $HOME
,并将目录与以管理员身份运行时打印的目录进行比较。$HOME
环境变量设置为以管理员身份运行Git Bash时打印的目录。 / LI>
醇>
答案 2 :(得分:0)
该错误讯息见于“Where does git config --global get written to?”
问题是此文件夹中的第二个
.gitconfig
:
C:\Users\myUser.config\git\config
次要挑剔,该错误信息将随Git 2.9.x / 2.10(2016年第3季度)而改变
commit 3a39f61见commit dc72b50,Peter Colberg (``)(2016年6月10日)
(由Junio C Hamano -- gitster
--于commit 9d3d0db合并,2016年7月6日)
config.c
:在错误消息中修复拼写错误
- die(_("unknown error occured while reading the configuration files"));
+ die(_("unknown error occurred while reading the configuration files"));
^^
答案 3 :(得分:0)
确定。所以我找到了解决方案,这很简单!
您需要做的只是以管理员身份运行git-bash.exe
。
我进入C:\Program Files\Git
并设置git-bash.exe
以始终以管理员身份运行。这样我仍然可以使用我的右键单击快捷方式,让它自动以管理员身份运行。
右键单击git-bash.exe
文件,然后选择属性。转到兼容性选项卡下,然后选中底部的复选框,其中显示&#34;以管理员身份运行此程序&#34;。单击“确定”,问题应该解决。
答案 4 :(得分:0)
检查C:\ users \ mylogin.gitconfig如果你在这里找不到,请转到C:\ user \ myLogin.git.gitconfig并查看它是否具有读取权限,在安全性方面完全控制你。
答案 5 :(得分:0)
有同样的问题。以管理员身份运行帮助,所以我删除了我能够在我的计算机上找到的所有.gitconfig文件并帮助了
答案 6 :(得分:0)
我遇到了同样的错误,我的问题是
中的.config
文件
c:\ users \ myLogin \ .gitconfig
是空的。我添加了以下内容:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = <url>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
你的任何gitconfig文件都是空的吗?
答案 7 :(得分:0)
我在Windows上使用Git并遇到同样的问题,我删除了.git-credentials和.gitconfig文件并重新启动了Git,一切正常。
对我来说,这些文件位于Windows的Documents文件夹中。
您可能需要再次添加一些配置,例如user.name和user.email等。
答案 8 :(得分:0)
上面提供的选项都不适合我。最后修复它的是将HOME环境变量设置为指向合理的东西。完成后,git再次开始正常运行。
答案 9 :(得分:-3)
我有完全相同的问题,在完全重新安装git后甚至没有解决。
要解决此问题,请在以下位置创建一个空的.gitconfig
文件:
C:\Users\<username>\AppData\Local\
我希望它能帮助你。