一 问题概述

今天在工作中遇到一个问题,使用很久的一个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. docker配置代理的用户名密码

    公司访问外网全部需要经过代理服务器,在使用docker的过程中,发现就算为docker配置了代理,还是会因为没有代理服务器认证,导致pull操作失败,报如下错误: Error response fro ...

  2. datetime模块

    # 其中days = -2,可以根据需要进行替换,这样就可以得到不同需要的日期了. # # 另外:可以通过strftime方法,指定时间的输出格式. # # 除了以上输入的   %Y-%m-%d    ...

  3. 分频器的Verilog实现

    一.占空比50%的奇数分频 1.实现思路 实现奇数(N)分频,分别用上升沿计数到(N-1)/2,再计数到N-1:用下降沿计数到(N-1)/2,再计数到N-1,得到两个波形,然后把它们相或即可得到N分频 ...

  4. String、StringBuffer和StringBuilder的区别及应用场景

    1. 运行速度:StringBulider>StringBuffer>String String为什么运行行慢呢? String:字符串常量 StringBuffer.StringBuli ...

  5. Raspberry Pi 安装配置 Home Assistant

    家庭助理(Home Assistant)是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制.跟踪和控制家里的所有设备, 并自动化控制,能完美的运行在树 ...

  6. linux下jvm优化、tomcat调优

    系统环境:jdk1.8,apache-tomcat-8.5.35 一.jvm优化 进入 bin/catalina.sh,修改JAVA_OPTS配置: JAVA_OPTS="-server - ...

  7. mac系统访问windows共享文件夹

    1. 打开finder 2. 找到前往 - 连接服务器 3. 打开后,输入smb://ip地址  点击连接 4. 选择共享文件夹 5. 点击好,之后就可以了,如下图

  8. python学习笔记-基础、语句、编码、迭代器

    #python的优缺点优点:Python简单优雅,尽量写容易看明白的代码,尽量写少的代码.缺点:第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地 ...

  9. mpvue开发小程序记录

    1.同一组件内嵌套的 v-for 不能连续使用相同的索引,目前为: index,index <li v-for="(list, index) in datas" :key=& ...

  10. python websocket Django 实时消息推送

    概述: WebSocket 是什么? WebSocket 是 HTML5 提供的一种浏览器与服务器间进行全双工通讯的协议.依靠这种协议可以实现客户端和服务器端 ,一次握手,双向实时通信. WebSoc ...