Reputation: 530
Not sure if this is the correct place to post this problem, but:
When I try to do just about anything in my Git bash window, I get this error:
fatal: unknown error occured while reading the configuration files
I tried several re-installs under different configurations and attempted numerous reboots to no help. I was questioning my username on Windows, since it has a dot (.) in it. Could that confuse Git for some reason? And if so: Is there a work-around?
I also cannot seem to locate where my config files are, since the command to find it is broken with the same error message.
I searched my computer for .gitconfig
files. I found a total of 4 files:
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
Here are the content of each file
...\Git\mingw64\etc.gitconfig
[credential]
helper = manager
...\Git\usr\share\vim\vim74\ftplugin.gitconfig
" Vim filetype plugin
" Language: git config file
" Maintainer: Tim Pope <[email protected]>
" 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\share\vim\vim74\indent.gitconfig
" Vim indent file
" Language: git config file
" Maintainer: Tim Pope <[email protected]>
" 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\share\vim\vim74\syntax.gitconfig
" Vim syntax file
" Language: git config file
" Maintainer: Tim Pope <[email protected]>
" 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"
I run Windows 7 x64 Professional. The computer is part of a domain network.
I Googled this problem and gave up when I came to page 11 with nothing useful.
Upvotes: 9
Views: 20181
Reputation: 364
None of the options provided above worked for me. What finally fixed it was setting the HOME environment variable to point to something reasonable. Once this was done, git started behaving properly again.
Upvotes: 0
Reputation: 179
for me the issue was .gitconfig folder/dir in Users// deleting the dir(.gitconfig) resolved the issue and it's working fine now. click on this link to refer the image for solution
Upvotes: 8
Reputation: 886
I ran into this same issue with Git installed on a machine that was part of a domain network. I followed the instructions listed in the first section of this post for creating a $HOME
environment variable on my machine under my user profile, and it corrected the problem.
The issue was that our group policy set the home directory to be a location on the network. Git for Windows is configured to use the home directory by default for several settings, and some settings change on the network or my machine (who knows what) broke permissions to config files that had been created in this networked location that Git needed in order to function.
Try this:
echo $HOME
, and note the directory printed.echo $HOME
, and compare the directory to the one printed when run as administrator.$HOME
environment variable to the directory printed when you ran Git Bash as administrator.Upvotes: 2
Reputation: 8100
I am using Git on Windows and had the same problem, I deleted the .git-credentials and .gitconfig files and restarted Git and everything worked fine.
For me, the files were located in Documents folder in Windows.
You might have to add a few configurations again like user.name and user.email etc.
Upvotes: 0
Reputation: 3
I had the same error, and my issue was that my .config
file in
c:\users\myLogin\.gitconfig
was empty. I added the following:
[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
Are any of your gitconfig files empty?
Upvotes: 0
Reputation: 1
Had the same problem. Running as admin helped, so I have deleted all the .gitconfig files I was able to find on my computer and it helped
Upvotes: 0
Reputation: 19
Check for C:\users\mylogin.gitconfig if you dont find here go to C:\user\myLogin.git.gitconfig and see if it has Read permission to You, Give full control for you in security .
Upvotes: 0
Reputation: 530
Ok. So I found the solution, and it is embarrassingly simple!
All you need to do is run git-bash.exe
as administrator.
I went into C:\Program Files\Git
and set git-bash.exe
to always run as administrator. That way I can still use my right-click shortcut and have it run as administrator automatically.
Right-click the git-bash.exe
file and choose properties. Go under the compatibility tab and check the checkbox at the bottom that says "Run this program as administrator". Click OK, and problem should be solved.
Upvotes: 1
Reputation: 1328332
That error message was seen in "Where does git config --global get written to?"
The problem was a second
.gitconfig
in this folder:
C:\Users\myUser.config\git\config
Minor nitpick, that error message will change with Git 2.9.x/2.10 (Q3 2016)
See commit 3a39f61, commit dc72b50 (10 Jun 2016) by Peter Colberg (``).
(Merged by Junio C Hamano -- gitster
-- in commit 9d3d0db, 06 Jul 2016)
config.c
: fix misspelt "occurred" in an error message
- die(_("unknown error occured while reading the configuration files"));
+ die(_("unknown error occurred while reading the configuration files"));
^^
Upvotes: 0
Reputation: 1
I had the exact same problem and it was even not solved after a complete re-install of git.
To solve this, create an empty .gitconfig
file in:
C:\Users\<username>\AppData\Local\
I hope it has helped you.
Upvotes: -3