首页 > 解决方案 > 如何从 GIT 存储库中删除名为“Module - Copy20102018”且带有空格的目录

问题描述

想要从 git 存储库中删除以下目录。

模块 - Copy20102018

我已经Module - Copy20102018直接删除了一个名为 ' ' 的目录。

这个文件夹在 git 存储库中。

现在在git status此目录中的标题下显示“更改未暂存以进行提交”。

deleted:    app/code/Module - Copy20102018/system.xml
deleted:    app/code/Module - Copy20102018/etc.xml
deleted:    app/code/Module - Copy20102018/123.php
deleted:    app/code/Module - Copy20102018/Report/JS/script.js
deleted:    app/code/Module - Copy20102018/Report/CSS/style.css

当我尝试运行以下任何命令时。

  1. git add app/code/Module - Copy20102018

给出消息:fatal: pathspec '-' did not match any files

  1. git rm app/code/Module - Copy20102018

给出消息:fatal: not removing 'Module' recursively without -r

  1. git checkout app/code/Module - Copy20102018

给出消息:

error: pathspec '-' did not match any file(s) known to git.
error: pathspec 'Copy20102018' did not match any file(s) known to git.

从存储库中删除此类文件夹的任何其他方式git

标签: bashgitshell

解决方案


我认为这将是重复的,但我似乎找不到一个 - bash 默认将空格解释为分词所以

git rm /a/b - c

与您运行时的解释相同

git rm /a/b
git rm -
git rm c

您需要引用包含空格的文件名:

git rm '/a/b - c'

或逃离空格。如果这是一个文件夹,则需要递归标志-r


推荐阅读