pathspec 'master' did not match any files known to git

2023-11-08

出现的场景

在本地init一个仓库,然后创建一个develop分支,并在这个分支上进行文件操作,接着commit所做的修改。

$ git init
Initialized empty Git repository in D:/practice/testBranch/.git/
$ git checkout -b develop
Switched to a new branch 'develop'
$ vim a.txt
$ git add a.txt
$ git commit -m "add a new file"
[develop (root-commit) f9ac3b8] add a new file
 1 file changed, 1 insertion(+)
 create mode 100644 a.txt

接着你切到master分支上,进行文件操作。这时就会出现下面的错误:

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

出现问题的原因

命令解析

git init命令会默认创建一个master分支,并将HEAD(它是一个特殊的指针,指向当前所在的本地分支)指向到该分支上。虽然如此,但是你通过git branch -a命令来查看本地和远程的分支时,是看不到任何分支的。
git checkout master命令其实做了两件事:一是使HEAD指回master分支;二是将工作目录恢复成master分支所指向的快照内容。

问题分析

HEAD指回master分支后,需要将工作目录恢复到master分支所指向的内容。但是由于你从开始一直在develop分支上进行操作,master分支对应的工作目录相当于还什么都没有,这样就出现匹配不到任何文件。

如何解决

你只需要在初始化一个仓库后,先在master分支上进行一些commit操作,比如增加一个README.md文件,这样就真正创建了一个master分支。例如:

$ git init
Reinitialized existing Git repository in D:/practice/testBranch/.git/
$ vim README.md
$ git add README.md
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.
$ git commit -m "add a new file"
[master (root-commit) 0e8c7c3] add a new file
 1 file changed, 1 insertion(+)
 create mode 100644 README.md
$ git push
Counting objects: 3, done.
Writing objects: 100% (3/3), 219 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'master' on GitHub by visiting:
remote:      https://github.com/benben/testBranch/pull/new/master
remote:
To github.com:benben/testBranch.git
 * [new branch]      master -> master

在进行push操作时,你就可以看到提示,在远程仓库创建了一个master分支,并且本地的master分支指向远程的master分支。
这时你通过git branch -a就可以看到所有本地和远程的分支。接着就可以创建其他分支,并且可以在master分支之间任意切换。

$ git branch -a
* master
  remotes/origin/master

在切换分支时,一定要注意你工作目录里的文件会被改变。 如果是切换到一个较旧的分支,你的工作目录会恢复到该分支最后一次提交时的样子。 如果 Git 不能干净利落地完成这个任务,它将禁止切换分支。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pathspec 'master' did not match any files known to git 的相关文章

随机推荐

  • 浅析存储引擎(4)-对比B-tree和LSM-tree

    浅析日志结构的存储引擎 1 bitcask浅析日志结构的存储引擎 2 SSTable和LSM Tree浅析存储引擎 3 B tree 一 磁盘碎片率 由于B tree存储引擎按固定页写入 那么通常每一页都会有些空间无法使用 而LSM tre
  • Metro UI CSS 学习笔记之组件(侧边栏)

    Metro UI CSS Demo案例
  • Linux mmap系统调用视角看缺页中断

    问题 1 mmap具体是怎么实现比read write少一次内存copy的 2 mmap共享映射和私有映射在内核实现的时候到底有什么区别 3 mmap的文件映射和匿名映射在内核实现的时候到底有什么区别 4 父子进程的COW具体怎么实现的 概
  • 配置typeAliasesPackage支持通配符包路径扫描

    mybatis的xml文件中需要写类的全限定名 较繁琐 可以配置自动扫描包路径给类配置别名 两种配置方式 方式一 mybatis config xml中配置
  • Linux进阶

    创作不易 来了的客官点点关注 收藏 订阅一键三连 前言 运维之基础 Linux 我是一个即将毕业的大学生 超超 如果你也在学习Linux 不妨跟着萌新超超一起学习Linux 拿下Linux 一起加油 共同努力 拿到理想offer 系列文章
  • python os.path.expanduser os.path.expandvars

    os path expanduser path 在linux平台下 可以用 来代表 home 你的用户名 这个路径 那么python是不认识 这个符号的 如果你写路径的时候直接写 pic 程序是执行不了的 但是你非要用 这时候这个os pa
  • http原理与dns原理总结

    1 HTTPS原理 HTTPS 超文本传输安全协议 是一种以安全为基础的HTTP传输通道 HTTP是超文本传输协议 是TCP IP组中协议之一 也是互联网上应用最为广泛的协议之一 所有的WWW 万维网 文件都必须遵循这个标准 因为HTTP也
  • 输出100以内所有能被3整除但不能被5整除的数,按每5个数的形式输出。

    include
  • vue 数组添加元素_用vue.js做一个列表,类似于百度的搜索排名,用v-for来循环

    先看效果吧 如下图 用vue来实现 比较简单 更多文章请关注我的头条号 我是落笔承冰 一 加入vue js链接库 添加一个父组件 一个全局子组件 二 这个时候网页一定是空的 所以我们在子组件添加模板吧 然后在vmd中调用 三 我们把三行li
  • 代码注入:动态解析代码_保护您的代码:开发更安全代码的17个技巧

    代码注入 动态解析代码 网络上的恐怖故事变得越来越糟 首先 一些信用卡号被盗 然后有几千 现在 我们听到数以百万计的财务记录被安全漏洞暴露 并且我们对潜在的威胁变得麻木了 信用卡号码几乎无法触及坏蛋的目标 而且研究网络战争的实验室还传出了更
  • iOS_Unity打包报错MapFileParser.sh:Permission denied

    1 前言 使用unity打包出的IOS包 在XCode进行ARchive到最后的时候出现了MapFileParser sh Permission denied的错误 2 解决办法 打开终端输入如下命令后回车即可 chmod a x User
  • 剪切板复制粘贴工具 PopClip mac中文版

    PopClip mac是一款文本操作工具 它可以在你选中文本时自动弹出菜单 提供了多种常用的文本操作选项 包括复制 剪切 粘贴 搜索 翻译 发送到其他应用程序等 PopClip 通过插件的形式支持了许多第三方应用程序 例如 Google T
  • 安装ceres-solver

    2023 6 8 10 11 安装ceres solver 开源C 库 用于建模和解决大型 复杂的优化问题 它可用于解决具有边界约束的非线性最小二乘问题和一般无约束优化问题 是谷歌开发的一款用于非线性优化的库 在谷歌的开源激光雷达slam项
  • Kotlin集合框架分析

    一 Kotlin中集合框架和Java集合框架特别相似 掌握以下例子就Ok了 package cn kotliner kotlin collections Created by wangdong 集合框架 kotlin中集合的映射 最终都映射
  • 2020-10-14

    今天为大家分享一些可以接私单的平台 相信大家学习编程未来是希望成为一个软件工程师或者码农 找到好的工作 有好的发展 但是在还没有找工作之前 大家可以通过一些平台接一些兼职 一来能够赚钱 在主页保持稳定的情况下能够发展自己的副业 二来通过接项
  • java知乎爬虫源码_java知乎爬虫写作过程和思路

    0 需要的知识点 正则表达式 java多线程线程池池知识 httpclient网络库及json和html结构 1 获取主话题 在知乎中一共有33个主话题 在33个主话题下又有15776个子话题 因此我们首先要获取到33个主话题 ps 一开始
  • Word Amalgamation 【HDU - 1113】【题意+map】

    题目链接 题意 我们先给出一系列基础字符串 之后用 XXXXXX 隔开 我们将列写查询字符串 假如查询字符串换一种排列可以得出上面的字符串 那么 我们就输出上面的字符串 不然输出 NOT A VALID WORD 这就是一道关于STL中ma
  • opencv线段绘制

    opencv线段绘制 线段绘制采用cv2 line函数 import cv2 import numpy as np newImageInfo 500 500 3 dst np zeros newImageInfo np uint8 cv2
  • Springboot框架整合freemarker开发【干货满满】

    晚安独角兽 hello你好我是独角兽 很高兴你能来阅读 昵称是希望自己能不断精进 向着优秀程序员前行 博客来源于项目以及编程中遇到的问题总结 偶尔会有读书分享 我会陆续更新Java前端 后台 数据库 项目案例等相关知识点总结 感谢你的阅读和
  • pathspec 'master' did not match any files known to git

    出现的场景 在本地init一个仓库 然后创建一个develop分支 并在这个分支上进行文件操作 接着commit所做的修改 git init Initialized empty Git repository in D practice te