美文网首页Git使用Git
【Git】git push.default 简析

【Git】git push.default 简析

作者: liqingbiubiu | 来源:发表于2017-03-22 17:26 被阅读684次

本文主要参考

问题:

近日在操作git时发现:在本地新建一个分支,添加代码后push,提示:

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

之所以出现这样的警告,和git的push默认配置push.default有关,push.default的配置选项有五个:nothing、current、upstream、simple、matching。它们的作用分别为:

  • nothing: 直接push会出错,需要显式的指出推送的远程分支,例如:git push origin master;
  • current: 推送时只会推送当前所在的分支到远程同名分支,如果远程分支不存在相应的同名分支,则创建该分支;
  • upstream: 推送当前分支到它的upstream分支上,这个模式只适用于推送到与拉取数据相同的仓库(比如central workflow);
  • simple: 在中央仓库工作流程模式下,只能推送到与本地分支名一致的upstream分支中,如果推送的远程仓库和拉取数据的远程仓库不一致,那么该模式会像current模式一样进行操作。因为该选项对于新手来说是最安全的,所以在git 2.0中,simple是push.default的默认值配置项(2.0以前的默认配置项是matching);
  • matching:推送本地和远程都存在的同名分支。

了解了push.default的五个配置选项,我们可以查看自己所在git环境的push.default配置选项,git有三个不同的配置文件:local(仓库)、global(全局)、system(系统),它们的优先级为local>global>system,如果我们之前没有手动配置过该选项,我们可以在system配置文件中看到它的默认配置:

  git config --system -l
git.jpeg

我们可以通过下面的命令修改默认配置:

git config --global push.default matching

最后:

在了解问题的原因后,我们可以通过以下两个方法解决问题:

  • 修改仓库默认配置为current: git config --local push.default current,然后git push;
  • 指定push的远程分支名如: git push origin newBranch(个人推荐)

注:文中如有任何错误,请各位批评指正!

相关文章

  • 【Git】git push.default 简析

    本文主要参考https://git-scm.com/docs/git-config 问题: 近日在操作git时发现...

  • git的push的默认行为

    基础 push.default 在git的全局配置中,有一个push.default属性,其决定了git push...

  • Git的原理简析

    前言 Git 作为一个强大的分布式版本控制工具,探讨Git的工作原理,知道Git思想和基本原理,用起来才会游刃有余...

  • Git 使用小贴士

    git --verion git version 2.11.1 github地址简书地址 慎用git push -...

  • 真 git 操作大全 不会就看

    git 常用命令git 远程操作git 撤销操作 推酷git大全 react router4 中文文档 koa 简...

  • Git reset三种模式

    参考文档:Git使用教程 - 简书 默认选项git reset HEAD~ 等效于 git reset --mix...

  • Git 常用命令

    git基本命令: git status : 查看当前仓库中文件的状态。git status -s : 文件状态的简...

  • git初期常见问题简析

    1、登录github (1)克隆服务器代码 (2)查看分支 (3)切换分支到1.0 (4)拉1.0分支的代码 (5...

  • Git和Github的基础使用

    Git和Github新手极简使用教程 Git和Github介绍:百度/Google-搜索关键词: SVN Git ...

  • GIT

    GIT GIT简单介绍 GIT:是一款开源的分布式版本控制工具 在所有的分布式的版本控制工具中,git是最快、最简...

网友评论

    本文标题:【Git】git push.default 简析

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