Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git - fatal: unknown error occured while reading the configuration files

Tags:

git

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

Git 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.

like image 823
Alexander Johansen Avatar asked Jun 28 '16 08:06

Alexander Johansen


2 Answers

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

like image 87
chuha.billi Avatar answered Oct 22 '22 22:10

chuha.billi


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:

  1. Run Git Bash as administrator.
  2. Do echo $HOME, and note the directory printed.
  3. Close Git Bash and run it not as administrator.
  4. Do echo $HOME, and compare the directory to the one printed when run as administrator.
  5. If the directories printed in steps (2) and (4) are different, follow the instructions in the linked blog post to set your $HOME environment variable to the directory printed when you ran Git Bash as administrator.
like image 42
gooberwonder Avatar answered Oct 22 '22 21:10

gooberwonder