“git init” failed, what's wrong?

前端 未结 6 1861
花落未央
花落未央 2021-02-07 10:26

This issue is not same as \"Bad git config file .git/config\", since it failed when using git init.

It seems there is nothing wrong with /home/mirror/.gitco

相关标签:
6条回答
  • 2021-02-07 10:51

    Use the similar mode current instead of simple if you use a version of Git older than 1.7.11.

    git config --global push.default current
    
    0 讨论(0)
  • 2021-02-07 10:52

    Try updating config to use matching instead of simple for push.default.

    git config --global push.default matching
    

    or

    git config push.default matching
    
    0 讨论(0)
  • 2021-02-07 11:01

    Since I came across this when searching for the Malformed value for push.default: simple error I got when pushing/pulling, I figured other people may as well.

    Here's a related question that provides more information for the passer-by (see my answer at the end for more links, too): GIT: Can't Push (Strange Config Issue)

    Note in particular that this error seems to be caused by having an older version of Git somewhere. The best solution is to update to the latest version of Git on all machines.

    If this is not possible for you, simply run the following commands (as mentioned by @morefromalan):

    git config --global push.default matching
    

    or

    git config --global push.default upstream
    

    to get rid of the error. This changes the default behavior of push operations as described HERE. You may have to to this for pull as well as push, but it seems to be working for me just having changed the default push behavior to upstream.

    Good luck!

    0 讨论(0)
  • 2021-02-07 11:06

    This problem keeps coming up now that git 1.8 is out. Luckily the message from git is now very helpful:

    warning: push.default is unset; its implicit value is changing in
    Git 2.0 from 'matching' to 'simple'. To squelch this message
    and maintain the current behavior after the default changes, use:
    
       git config --global push.default matching
    
    To squelch this message and adopt the new behavior now, use:
    
       git config --global push.default simple
    
    See 'git help config' and search for 'push.default' for further information.
    (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
    'current' instead of 'simple' if you sometimes use older versions of Git)
    

    For example, emacs interface to git (vc) does not understand the argument 'simple', so you are better off using the argument 'matching' for the time being.

    0 讨论(0)
  • 2021-02-07 11:07

    Simple was added in git v1.7.11. If your git version is older, this option doesn't exist. Simply remove it from your conf and you'll be able to init repos.

    See Documentation

    0 讨论(0)
  • 2021-02-07 11:11

    Note that it can be problematic identifying the issue, considering the problem is at:

    • line 7 (default = simple),
    • not line 8 (which here doesn't exist)

    Solutions:

    • Changing the value at line 7 solves the issue (git config --global push.default matching)
    • removing the config can help too (git config --global --unset-all push.default)

    But most importantly, starting git 2.2 (Q4 2014), the git config error line number will be accurate.
    See commit b3b3f60, by Matthieu Moy (moy):

    config.c: fix accuracy of line number in errors

    If a callback returns a negative value to git_config*() family, they call die() while printing the line number and the file name.
    Currently the printed line number is off by one, thus printing the wrong line number.

    Make linenr point to the line we just parsed during the call to callback to get accurate line number in error messages.

    0 讨论(0)
提交回复
热议问题