Git使用之(pathspec master did not match any file(s) known to git)

Git使用之(pathspec master did not match any file(s) known to git)

  • 11479

一 问题概述

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

git checkout master
  • 1

提示如下错误:

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

二 问题解决

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

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

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

git fetch
  • 1

3.切换到远程master分支:

git checkout origin/master
  • 1

提示如下:

Note: checking out ‘origin/master‘.

You are in ‘detached HEAD‘ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 4beea49... Merge branch ‘develop‘ into ‘master‘
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

执行git branch,效果如下:

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

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

git checkout -b master
  • 1

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

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=<remote>/<branch> master

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

git branch -u origin/master master
  • 1

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

Already up-to-date.
  • 1

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

man git
man git branch

and so forth!
  • 1
  • 2
  • 3
  • 4

Bye!

原文地址:https://www.cnblogs.com/chenhuichao/p/8480226.html

时间: 2024-10-11 10:24:00

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

git——创建分支后,切换分支报错(error: pathspec &#39;master&#39; 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.获取所有分支 git fetch 3.切换到远程master分支: git checkout origin/master 4.执行git branch,可以看到我们想切换的那个分支 5.从当前的分支切换并新建分支,可以理解为即将新创建的分支是由当前分支出来的 git checkout -b 新分支名 6.建立本地

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

新建立了一个远程仓库,想着把项目放上去.于是在项目目录上: git init 然后就添加远程库 git remote add origin xxxx.git 然后就想push: git push -u origin master 结果提示错误: error:src refspec master does not match any 百度下,原来是说我本地没有提交任何东西,本地版本库为空, 空目录不能提交 (只进行了init, 没有add和commit). 解决: 添加:git add -A 提交

本地Git仓库和远程仓库的创建和关联及github上传(git push)时出现error: src refspec master does not match any解决办法

github上传项目方法: 在你的电脑上装好git Git Bash Here 本地Git仓库和远程仓库的创建及关联大致流程是: 1.初始化这个本地的文件夹为一个Git可以管理的仓库 git init 注意:Git会自动为我们创建唯一一个master分支我们能够发现在当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了. 2.将本地的仓库和远程的仓库进行关联 git remote add origin [em

git报错error: src refspec refs/heads/master does not match any.

$ git pusherror: src refspec refs/heads/master does not match any.error: failed to push some refs 出错解决方案: 首先先试试注释 1.本地git仓库目录下为空 2.本地仓库add后未commit 3.git init错误 解决: 1.控制面板打开文件夹选项  打开隐藏文件和文件夹显示 2.到本地仓库目录下查看是否有.git文件夹--无 则git init 3.看.git文件夹下是否有之前提交的文件-

git操作时提示:fatal: pathspec &#39;README&#39; did not match any files 的处理办法

根据网上教程使用git,结果没几步就开始出问题... 就是个简单的git add 看到提示的fatal,下意识的认为很严重,开始以为跟大小写有关,结果试了下还是不行 加上文件的后缀名,搞定. 并且跟大小写无关 建议:各位同学操作时,注意后缀名的问题.操作系统中隐藏了后缀名的话,命令中就不要加:如果没有设置隐藏后缀名,命令中不能丢掉 git操作时提示:fatal: pathspec 'README' did not match any files 的处理办法 原文地址:https://www.cn

git push -u origin master报错src refspec master does

git push -u origin master 时候报错 src refspec master does not match any. 因为[email protected]上面没有版本分支master,首先要去到目标目录,随便git add一个文件,然后git commit -m "msg".提交到了( 在commit之前要 git config --global user.name "forai" git config --global user.email

error: src refspec master does not match any.

执行下面的命令,git push 时候出错: git push origin master 出现如下错误: error: src refspec master does not match any. error: failed to push some refs to '[email protected]:********' 原因: 本地仓库为空 解决办法: git add somefile git commit -m "comment" 原文地址:https://www.cnblog

Git_错误_02_error: src refspec master does not match any

现象:在一个目录下初始化仓库之后,就开始push到github,结果出现了这个错误. 错因:初始化仓库之后,并没有使用git add,git commit 命令将文件添加到git仓库中,所以仓库为空,而空的仓库是不能提交到github的. 解决方案: (1)使用命令 ,一次性添加所有文件到暂存区 git add . (2)使用命令,将暂存区的文件提交到本地仓库中. git commit -m" 第一次提交" (3)使用命令,将本地仓库中的文件提交到远程仓库中 git push -u r

git push origin与git push -u origin master的区别

$ git push origin 上面命令表示,将当前分支推送到origin主机的对应分支. 如果当前分支只有一个追踪分支,那么主机名都可以省略. $ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push. $ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了. 不带任何参