Git删除文件夹的时候出现fatal: pathspec 'Android-Design' did not match any files

使用GitHub删除文件夹的时候出现错误:

>git rm Android-Design
>fatal: pathspec 'Android-Design' did not match any files

再使用–cached也是这样,后来才知道–cached命令是删除远端仓库的文件而不删除本地仓库的文件

>git rm --cached Android-Design
>fatal: pathspec 'Android-Design' did not match any files

因为已经推送到了GitHub的远端仓库,所以应该使用git filter-branch而不是git rm

git rm 将删除文件,因为它们将不再被git跟踪,但是这并不会删除与这些图像对应的旧提交对象.
另一方面,git过滤器分支也可以从以前的所有提交中删除这些文件,从而消除了推送其中任何一个文件的需要。

删除文件夹的步骤:

  1. 使用该命令(需要最高权限,所以按住shirft+鼠标右键,在此处打开PowerShell)

    git filter-branch --force --index-filter \
    'git rm -r --cached --ignore-unmatch public/photos' \
    --prune-empty --tag-name-filter cat -- --all
    

    注意:代码中的\只是为了更好的分割指令,并不是单独的三条指令,输入命令的时候应该一起输入,并且去掉\
    输入该指令后会出现很多条rm指令,如下:
    在这里插入图片描述

  2. 筛选器分支完成后,验证没有意外的文件丢失。

  3. 现在添加.gitignore规则

    echo Andorid-Design >> .gitignore
    git add .gitignore 
    git commit -m "ignore rule for Androi-Design"
    
  4. 现在push

    git push -f origin branch
    

现在去Github上刷新以下,发现文件夹的确不见了,并且多了一个.gitignore文件

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值