执行git pull或者git push的时,有时候会出现如下报错:

$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.linux_c++.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull() for details. If you often merge with the same branch, you may want to
use something like the following in your configuration file: [branch "linux_c++"]
remote = <nickname>
merge = <remote-ref> [remote "<nickname>"]
url = <url>
fetch = <refspec> See git-config() for details.

我们先来看看当前分支状态:

$ git branch -av
* linux_c++ 584efea add cscope and fix fileencoding problam
master ee9d037 v1.0.1: add install.sh
remotes/origin/HEAD -> origin/master
remotes/origin/linux_c++ 584efea add cscope and fix fileencoding problam
remotes/origin/master ee9d037 v1.0.1: add install.sh

当前所在的linux_c++分支虽然与远程linux_c++同名,但实际上,这个分支并不是origin/linux_c++分支的追踪分支,所以当直接用git pull去请求拉新分支的时候,git并不知道应该拉取哪个分支。

因此,解决此问题有两个方案,一个是git pull或者git push的时候,指定相应的远程分支名,如:

$ git pull origin linux_c++

另一个方案则是,设置当前分支追踪某个远程分支。设置现有分支追踪远程分支的方式有两种:

git branch -u remote-name/branch_name branch_name

或者

git branch --set-upstream-to=remote_name/branch_name branch_name

当然,还可以再创建本地分支的时候,直接使其追踪到远程分支:

git checkout -b local_branch remote_name/remote_branch

当前我们的分支是已有分支,那么可以输入:

$ git branch -u origin/linux_c++ linux_c++
Branch linux_c++ set up to track remote branch linux_c++ from origin.

应当注意的一点是:git branch -u 和git branch --set-upstream-to 的两个选项都是要在较高的git版本才有,至少博主在1.7.1上发现没有这两个选项,而1.8.3.1上是有的。

git pull没有指定branch的报错的更多相关文章

  1. Git上传代码遇到的报错

    Git上传代码遇到的报错 1.git上传代码卡住(Total 7072 (delta 2508), reused 6844 (delta 2376), pack-reused 0) git confi ...

  2. [Git] 拉开发分支的代码报错

    Git拉开发分支的代码报错: fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed ...

  3. git删除本地分支失败,报错error: branch 'test219' not found.

    错误: 删除本地分支报错,操作如下: git branch -d test219 操作失败,错误信息:error: branch 'test219' not found git branch -D t ...

  4. git上传到版本库报错:Pull is not possible because you have unmerged files(已解决)

    问题所在:操作次数太多,第一次报错之删掉了.git并没有删除下面两个文件 才报了题述错误. 解决办法: 将这三个文件都删除在重新运行所有指令.

  5. git 本地推送远程仓库报错: error: failed to push some refs to 'https://github.com/yangtuothink/mxonline.git'

    报错现象 添加远程仓库后 推送代码的时候报错 报错分析 远程代码和本地代码不匹配问题 远程初始仓库的创建有些默认 的 README什么的本地是没有的 需要先同步后再上传 报错解决 git push - ...

  6. git提交待审核代码,报错没有change-id的解决方法

    git提交是报错没有change-id的解决方法: 1.先仔细查看报错内容,查出是哪天提交记录缺少change-id 2.如果是最近的一条缺少,则直接执行git commit --amend &quo ...

  7. git拉代码,IntelliJ idea报错,cannot load module xxxxx

    1 从git上下工程的时候,IntelliJ idea报错,cannot load module xxxx VCS-git-clone-ssh:xxxx ,报错cannot load module x ...

  8. git fatal: remote origin already exists. 报错解决

    在研究git的时候,随便输了个 git remote add origin xxx; 然后再真正add 远程仓库的时候,报了git fatal: remote origin already exist ...

  9. git 生成密匙时遇到报错 :Too many arguments.

    今天在我用新电脑想要向github上的远程库上传项目时,由于新电脑上的本地库没有与远程库建立连接,所以要在本地生成密匙添加到github上才可以上传,在我执行命令 ssh-keygen -t rsa- ...

随机推荐

  1. [Kafka] - Kafka内核理解:分布式机制

    一个Topic中的所有数据分布式的存储在kafka集群的所有机器(broker)上,以分区(partition)的的形式进行数据存储:每个分区允许存在备份数据/备份分区(存储在同一kafka集群的其它 ...

  2. MDX跨cube查询——lookupcube

    关于SSAS中从多个cube中查询数据 前提:涉及的cube在同一数据库中,维度共享(最好) SSAS中提供一条mdx语句同时从多个cube中查询数据的功能 实现该功能的就是lookupcube函数, ...

  3. python中的数据类型和常用运算符

    一. python中常见的数据类型 1. 整数:任何时候运算都是精确的 2. 浮点数:运算的时候,可能会有四舍五入 3. 字符串:字符串是以单引号'或双引号"括起来的任意文本 1) 同类型的 ...

  4. SpringBoot邮件发送功能

    快速入门 在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail依赖: <dependency> <groupId>org.sp ...

  5. github提交代码时遇到”Everything up-to-date“问题的解决方式

    需要创建一个新分支,将最新代码加入新分支, 再将新分支合并到主分支,然后提交主分支代码到github网站. ---------------------------------------------- ...

  6. Redis底层探秘(三):字典

    字典,又称为符号表(symbol table).关联数组(associative array)或映射(map),是一种用于保存键值对的抽象数据结构. 字典经常作为一种数据结构内置在很多高级编程语言里面 ...

  7. LeetCode Beautiful Arrangement II

    原题链接在这里:https://leetcode.com/problems/beautiful-arrangement-ii/description/ 题目: Given two integers n ...

  8. shell 去重

    group=`cat config.properties  |            grep -v "^$" |                 grep -v "^# ...

  9. nginx之 [error] 6702#0:XXX is forbidden (13: Permission denied)

    问题描述: 配置完 nginx 两个虚拟机后,客户端能够访问原始的server ,新增加的 server 虚拟机 不能够访问,报错如下页面 解决过程: 1. 查看报错日志[root@mysql03 n ...

  10. redis之 Redis常用数据类型

    Redis最为常用的数据类型主要有以下7种: 一. String (字符) 常用命令:  set,get,decr,incr,mget 等. 应用场景:String是最常用的一种数据类型,普通的key ...