美文网首页苏辛の博客程序员
Git 2.x 中git push时遇到 push.defaul

Git 2.x 中git push时遇到 push.defaul

作者: 苏之辛 | 来源:发表于2016-02-18 20:23 被阅读4924次

    最近在学习使用 git&GitHub,然后今天遇到了一个问题。在执行 git add 和 git commit 操作之后,再进行 git push 操作,出现了如下提示:

    $ 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)
    
    fatal: The current branch master has no upstream branch.
    To push the current branch and set the remote as upstream, use
    
        git push --set-upstream origin master
    
    

    第一感觉是 FxxK 。
    然后来看看这一长串英文是在说什么:

    警告:push.default (默认push)未设置;在Git 2.0 中,push.default 的值从‘matching’改为‘simple’了。消除此警告并保留以前的习惯,输入:

    git config --global push.default matching
    

    消除此警告并采用新的设置值,输入:

    git config --global push.default simple
    

    当 push.default 的值设置成 ‘matching’ ,git 将会推送所有本地已存在的同名分支到远程仓库
    从 Git 2.0 开始,git 采用更加保守的值'simple',只会推送当前分支到相应的远程仓库,'git pull' 也将值更新当前分支。
    ……(后面就不译了)

    已经说的很清楚了,Git 2.0 需要设置 push.default 的值,两者的区别上面也说了,所以我就采用新的保守值吧,输入:

    git config --global push.default simple
    

    然而接下来执行 git push 还是不顶用,因为上面警告的是两个问题,于是再次提示:

    fatal: The current branch master has no upstream branch.
    To push the current branch and set the remote as upstream, use
    
        git push --set-upstream origin master
    
    

    还没学到后面,就简单百度了一下,结果只是半懂,好像首次 push ,所以输入以下命令即可:

    git push -u origin master
    
    

    之后再直接执行 git push 就可以了。
    </br>
    参考文章:
    Git 2.0 更改 push default 为 'simple'
    在 GitHub 上管理项目

    相关文章

      网友评论

      • pujiaxun:fatal: The current branch master has no upstream branch.
        To push the current branch and set the remote as upstream, use

        git push --set-upstream origin master
        意思是 你没有绑定远程的分支,需要用 --set-upstream来绑定一下 以后就可以直接git push
        --set-upstream 的简写就是-u了吧
        :smile:
        苏之辛:@JasonSi 谢谢指点٩(๑^o^๑)۶

      本文标题:Git 2.x 中git push时遇到 push.defaul

      本文链接:https://www.haomeiwen.com/subject/bhnmkttx.html