Git使用之(pathspec master did not match any file(s) known to git)「建议收藏」

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

大家好,又见面了,我是全栈君。

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

git checkout master

提示如下错误:

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

二 问题解决
1.首先我们看一下分支情况:

git branch -a
* 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

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

git fetch

3.切换到远程master分支:

git checkout origin/master

提示如下:

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'

执行git branch,效果如下:

* (detached from origin/master)
  develop

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

git checkout -b master

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

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

git branch -u origin/master master

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

Already up-to-date.

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

man git
man git branch

and so forth!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111456.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java算法之身份证号码验证

    调用时直接new IDCard().verify(身份证id);就可以了实现代码如下:public class IDCard { private String _codeError; //wi =2(n-1)(mod 11) final int[] wi = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 1

    2022年3月10日
    54
  • unity3D入门_3D技巧

    unity3D入门_3D技巧unity3D入门系列一,Hello3DWorld(C#脚本版)作者:admin 日期:2011年06月25日 来源:本站原创  【字体:大 中 小】  我要评论(0) 文章转载自:http://www.j2megame.com/html/xwzx/ty/2275.html=======================================

    2022年8月10日
    7
  • 分水岭算法及案例

    分水岭算法及案例分水岭算法WatershedAlgorithm(分水岭算法),顾名思义,就是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是我们可爱的分水岭(watershed)。如果图像中的目标物体是

    2022年6月15日
    29
  • bat命令详解_bat结束进程命令

    bat命令详解_bat结束进程命令批处理文件中可引用的参数为%0~%9,%0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现! Shift命令:更改批处理文件中可替换参数的位置 C代码    shift[/n]   n的取值是[0,8],且为整数;[/n]为可选参数,当赋予n

    2022年9月14日
    2
  • docker安装awvs_docker版本

    docker安装awvs_docker版本前提:安装了docker(docker安装教程)在docker中安装dwvs#1pull拉取下载镜像dockerpullsecfa/docker-awvs#2将Docker的3443端口映射到物理机的13443端口dockerrun-it-d-p13443:3443secfa/docker-awvs##如果有报错重启docker后再重复上一步dockerservicedockerrestart或systemctlrestartdocker

    2022年9月22日
    2
  • Red Flag linux硬盘安装

    Red Flag linux硬盘安装 很早以前就想安装linux实验一下,今天从中科红旗RedFlag的网站下载了一个系统安装盘的iso,安装盘一共2CD,这里提前说一下,也不知道是不是我的WinXP文件关联有问题,下载下来的ISO显示的是WinRAR的图标,于是没看扩展名直接解压缩出来了(后面因为这个吃了不少苦头,没办法,习惯了),然后上网站上查了查,网上大都写的不明白,而且重复的很多(是不是高手都用linux,觉得

    2022年8月20日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号