一 问题概述

今天在工作中遇到一个问题,使用很久的一个local git repository,里面只有develop分支,那么现在想将分支切换到master分支,问题来了,在切换到master分支时:

  1. git checkout master

提示如下错误:

  1. error: pathspec 'master' did not match any file(s) known to git

二 问题解决

1.首先我们看一下分支情况:

  1. git branch -a
  1. * develop
  2. remotes/composer/develop
  3. remotes/composer/feature/194
  4. remotes/composer/feature/198
  5. remotes/composer/feature/199
  6. remotes/composer/feature/200
  7. remotes/composer/master
  8. remotes/origin/HEAD -> origin/develop
  9. remotes/origin/develop
  10. remotes/origin/feature/194
  11. remotes/origin/feature/198
  12. remotes/origin/feature/199
  13. remotes/origin/feature/200
  14. remotes/origin/master

2.如果没有看到你想要的分支,先获取所有分支:

  1. git fetch

3.切换到远程master分支:

  1. git checkout origin/master

提示如下:

  1. Note: checking out 'origin/master'.
  2. You are in 'detached HEAD' state. You can look around, make experimental
  3. changes and commit them, and you can discard any commits you make in this
  4. state without impacting any branches by performing another checkout.
  5. If you want to create a new branch to retain commits you create, you may
  6. do so (now or later) by using -b with the checkout command again. Example:
  7. git checkout -b new_branch_name
  8. HEAD is now at 4beea49... Merge branch 'develop' into 'master'

执行git branch,效果如下:

  1. * (detached from origin/master)
  2. develop

5.现在我们可以从当前的detached分支切换并新建分支,可以理解为即将新创建的分支是由当前detached 分支出来的(为了为后续做准备,此处新分支就叫做master):

  1. git checkout -b master

5.这时我们使用git pull会提示如下错误:

  1. There is no tracking information for the current branch.
  2. Please specify which branch you want to merge with.
  3. See git-pull(1) for details
  4. git pull <remote> <branch>
  5. If you wish to set tracking information for this branch you can do so with:
  6. git branch --set-upstream-to=<remote>/<branch> master

说明我们新建立的master分支还不能和远程的master分支建立追踪关系(虽然表面我们看似已经建立了master分支,但git不认为它和远程的master有任何关系),当然,您可以按照上面提示那样,通过git pull指定远程的分支和本地的分支来进行更新,但此处我们使用提示中的第二种方式,建立本地分支和远程分支的追踪关系:

  1. git branch -u origin/master master

6.这时我们执行git pull来看看什么反馈:

  1. Already up-to-date.

总结:其实git的人性化做的非常的完备,有时我们不要惧怕提示,而要从中找到问题的解决方法,并时常利用好:

  1. man git
  2. man git branch
  3. and so forth!

Bye!

Git使用之(pathspec master did not match any file(s) known to git)的更多相关文章

  1. error: pathspec 'master' did not match any file(s) known to git.

    问题描述: 在远程服务器上新建裸仓库git  --bare init : git clone裸仓库到本地: 本地新建并切换分支xccdev,git checkout -b xccdev: 从xccde ...

  2. git——创建分支后,切换分支报错(error: pathspec 'master' did not match any file(s) known to git)

    error: pathspec 'master' did not match any file(s) known to git 解决办法: 1.查看分支 git branch -a 2.获取所有分支 ...

  3. git commit 提交不了 error: pathspec 'project'' did not match any file(s) known to git.

    1. 问题--使用git将代码提交到码云,使用到以下命令时: git commit -m 'init project' # 报错 error: pathspec 'project'' did not ...

  4. Error: pathspec '*' did not match any file(s) known to git.

    git切换分支报错 error: pathspec 'develop' did not match any file(s) known to git. 解决办法如下: plumm@MACY-PC MI ...

  5. xxx did not match any file(s) known to git

    切换分支的时候,报了标题这么个错误,error: pathspec ''xxx did not match any file(s) known to git. 看见不能切换分支,我首先 git sta ...

  6. git切换分支报错:error: pathspec 'origin/XXX' did not match any file(s) known to git

    项目上有一个分支test,使用git branch -a看不到该远程分支,直接使用命令git checkout test报错如下: error: pathspec 'origin/test' did ...

  7. git 提交 src refspec master does not match any

    git init 产生的目录解释   error: src refspec master does not match any. 引起该错误的原因是,目录中没有文件,空目录是不能提交上去的 error ...

  8. Git:错误:error:src refspec master does not match any

    新建立了一个远程仓库,想着把项目放上去.于是在项目目录上: git init 然后就添加远程库 git remote add origin xxxx.git 然后就想push: git push -u ...

  9. GIT问题,error:src refspec master does not match any

    将本地GIT版本库PUSH到一个GITHUB上一个空的版本库时可能会出现如下错误error:src refspec master does not match any原因: 本地版本库为空, 空目录不 ...

随机推荐

  1. 分布式session个人理解浅谈

    在分布式中,用户的session如何处理呢? 服务器中的原生session是无法满足需求的,因为用户的请求有可能随机落入到不同的服务器中,这样的结果将会导致用户的session丢失,传统做法中有解决方 ...

  2. Unity3d对象池

    Singleton.cs 12345678910111213 using UnityEngine;/// <summary>/// 单例模版类/// </summary>pub ...

  3. hadoop题目(一)

    一.简要描述如何安装配置一个开源hadoop,只描述即可,列出完整步骤. 答:①创建一个用户和用户组,用来管理hadoop项目:   ②修改确定IP地址:vim /etc/sysconfig/netw ...

  4. 软工个人作业4——Alpha阶段个人总结

    一.个人总结 1.在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 经过本次alpha阶段的冲刺,首先学到了很多,收获了很多,同时也蛮辛苦的.其实我觉得作为组员我有很认 ...

  5. tomcat管理监控工具:probe(可代替Tomcat Manager)

    版本信息:tomcat8减压版.probe 3.0.0 修改tomcat用户配置,在conf\tomcat-users.xml加入一下配置: <role rolename="admin ...

  6. case 函数的简单使用记录下

    Case有2中格式:简单Case函数和Case搜索函数. 简单函数:case sex when '1' then '男' when '2' then ‘女’ else  '其它' end;(sex是列 ...

  7. 斐讯 天天牛绑定教程 邀请码:8vozbf

    天天牛邀请码 8vozbf 可以领取4代牛 最近斐讯推出了天天牛养成计划. 不过官方没有任何的指示教程,所以个人分享一个教程给大家. 1. 先把把旧的钱包备份一下 ,切记!! 而且一定要记得自己设的密 ...

  8. 宝塔MySQL服务自动停止重启的解决方法

    现象:客户端MYSQL无法链接 提示超过 max_connections 如果重新启动MYSQL或停止MYSQL 及重新启动系统时 需要很长时间 1个小进左右 问题描述 服务器上安装的 MySQL,会 ...

  9. Java判断字符串是否有重复

      检测是否重复: public static boolean checkDifferent(String iniString) { boolean isbool = false; char[] ch ...

  10. 利用axure软件实现app中的轮播图功能

    1.首先在axure软件中插入一张手机模型图片并调整为合适大小 2.在需要展示轮播图片位置拖入[动态面板]并且调整大小 拖入后双击动态面板,填入面板名称,并且添加面板状态(此处轮播图为三张,所以有三个 ...