zoukankan      html  css  js  c++  java
  • fatal: git-http-push failed

    1、错误描述

    yhd@ubuntu:~/test$ git push
    warning: push.default is unset; its implicit value has changed in
    Git 2.0 from 'matching' to 'simple'. To squelch this message
    and maintain the traditional behavior, use:
    
      git config --global push.default matching
    
    To squelch this message and adopt the new behavior now, use:
    
      git config --global push.default simple
    
    When push.default is set to 'matching', git will push local branches
    to the remote branches that already exist with the same name.
    
    Since Git 2.0, Git defaults to the more conservative 'simple'
    behavior, which only pushes the current branch to the corresponding
    remote branch that 'git pull' uses to update the current branch.
    
    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)
    
    Username for 'http://156.125.23.36': youhaidong
    Password for 'http://youhaidong@156.125.23.36': 
    error: Cannot access URL http://156.125.23.36/test/test.git/, return code 22
    fatal: git-http-push failed
    error: failed to push some refs to 'http://156.125.23.36/test/test.git'
    yhd@ubuntu:~/test$ 
    

    2、错误原因

    GIT-CONFIG(1)                                                                       Git Manual                                                                      GIT-CONFIG(1)
    
    NAME
           git-config - Get and set repository or global options
    
    SYNOPSIS
           git config [<file-option>] [type] [-z|--null] name [value [value_regex]]
           git config [<file-option>] [type] --add name value
           git config [<file-option>] [type] --replace-all name value [value_regex]
           git config [<file-option>] [type] [-z|--null] --get name [value_regex]
           git config [<file-option>] [type] [-z|--null] --get-all name [value_regex]
           git config [<file-option>] [type] [-z|--null] [--name-only] --get-regexp name_regex [value_regex]
           git config [<file-option>] [type] [-z|--null] --get-urlmatch name URL
           git config [<file-option>] --unset name [value_regex]
           git config [<file-option>] --unset-all name [value_regex]
           git config [<file-option>] --rename-section old_name new_name
           git config [<file-option>] --remove-section name
           git config [<file-option>] [-z|--null] [--name-only] -l | --list
           git config [<file-option>] --get-color name [default]
           git config [<file-option>] --get-colorbool name [stdout-is-tty]
           git config [<file-option>] -e | --edit
    
    DESCRIPTION
           You can query/set/replace/unset options with this command. The name is actually the section and the key separated by a dot, and the value will be escaped.
    
           Multiple lines can be added to an option by using the --add option. If you want to update or unset an option which can occur on multiple lines, a POSIX regexp value_regex
           needs to be given. Only the existing values that match the regexp are updated or unset. If you want to handle the lines that do not match the regex, just prepend a single
           exclamation mark in front (see also the section called “EXAMPLES”).
    
           The type specifier can be either --int or --bool, to make git config ensure that the variable(s) are of the given type and convert the value to the canonical form (simple
           decimal number for int, a "true" or "false" string for bool), or --path, which does some path expansion (see --path below). If no type specifier is passed, no checks or
           transformations are performed on the value.
    
           When reading, the values are read from the system, global and repository local configuration files by default, and options --system, --global, --local and --file
           <filename> can be used to tell the command to read from only that location (see the section called “FILES”).
    
           When writing, the new value is written to the repository local configuration file by default, and options --system, --global, --file <filename> can be used to tell the
           command to write to that location (you can say --local but that is the default).
    
           This command will fail with non-zero status upon error. Some exit codes are:
    
            1. The config file is invalid (ret=3),
    
            2. can not write to the config file (ret=4),
    
            3. no section or name was provided (ret=2),
    
            4. the section or key is invalid (ret=1),
    
            5. you try to unset an option which does not exist (ret=5),
    
            6. you try to unset/set an option for which multiple lines match (ret=5), or
    
            7. you try to use an invalid regexp (ret=6).

    3、解决办法

          由于Git使用http请求进行push,每次需要输入账号和密码,改为ssh请求push

  • 相关阅读:
    第四章 瓦解无意识
    C#操作Sqlite快速入门及相关工具收集(转)
    为什么要反应?你的惯性反应模式是什么?
    NPOI 1.2简介和教程目录
    jquery 得到当前页面高度和宽度
    第十一章 不勾招世界
    关于使用HtmlAgilityPack
    C# 网页图片采集
    互联网协议入门(转)
    对技术的态度(转)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313749.html
Copyright © 2011-2022 走看看