这是 git-rm 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
git-rm - 从工作树和索引中删除文件
概要
混帐 rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] ...
商品描述
从索引或从工作树和索引中删除文件。 git rm 不会
仅从您的工作目录中删除文件。 (没有仅删除文件的选项
来自工作树,但仍将其保留在索引中; 用 /bin/rm 如果你想这样做。)
被删除的文件必须与分支的尖端相同,并且没有更新
它们的内容可以在索引中暂存,尽管可以覆盖默认行为
使用 -f 选项。 当给出 --cached 时,暂存内容必须与提示匹配
分支或磁盘上的文件,允许仅从索引中删除文件。
配置
...
要删除的文件。 可以给出 Fileglobs(例如 *.c)来删除所有匹配的文件。 如果
您希望 Git 扩展文件 glob 字符,您可能需要对它们进行 shell 转义。 一种
前导目录名称(例如,用于删除 dir/file1 和 dir/file2 的 dir)可以提供给
删除目录中的所有文件,并递归地删除所有子目录,但是这
需要明确给出 -r 选项。
-f,--强制
覆盖最新的检查。
-n, --试运行
实际上不要删除任何文件。 相反,只需显示它们是否存在于索引中
否则将被命令删除。
-r
在给出前导目录名称时允许递归删除。
--
此选项可用于将命令行选项与文件列表分开,
(当文件名可能被误认为是命令行选项时很有用)。
--缓存
使用此选项可仅从索引中取消暂存和删除路径。 工作树文件,
无论是否修改,都将被搁置。
--忽略不匹配
即使没有匹配的文件,也以零状态退出。
-q, --安静
git rm 通常为每个删除的文件输出一行(以 rm 命令的形式)。
此选项会抑制该输出。
讨论
这给命令的列表可以是确切的路径名、文件全局模式,或
前导目录名称。 该命令仅删除 Git 已知的路径。 给予
您没有告诉 Git 的文件名不会删除该文件。
跨目录边界的文件通配匹配。 因此,给定两个目录 d 和 d2,
使用 git rm 'd*' 和 git rm 'd/*' 是有区别的,因为前者也会
删除所有目录 d2。
移除 FILES 动议 有 消失了 从 “ 文件系统
git rm 没有选项可以从索引中仅删除具有
从文件系统中消失。 但是,根据使用情况,有几种
可以做的方法。
运用 “混蛋 承诺 -一种”
如果您打算在下一次提交中记录对跟踪文件的所有修改
工作树并记录已从工作中删除的文件的所有删除
带有 rm(而不是 git rm)的树,使用 git commit -a,因为它会自动注意到
并记录所有移除。 你也可以在不提交的情况下使用类似的效果
混帐添加-u。
运用 “混蛋 加 -一个”
当接受供应商分支的新代码删除时,您可能希望同时记录
删除路径和添加新路径以及修改现有路径。
通常,您首先会使用此方法从工作树中删除所有跟踪的文件
命令:
git ls-文件-z | xargs -0 rm -f
然后在工作树中解压新代码。 或者你可以 rsync的 变化
进入工作树。
之后,记录所有删除、添加和修改的最简单方法
工作树是:
git添加-A
我们 混帐添加(1)。
其他名称 方法
如果您真正想做的只是从索引中删除不再存在的文件
存在于工作树中(可能是因为您的工作树很脏,因此您无法
使用 git commit -a),使用以下命令:
git diff --name-only --diff-filter=D -z | xargs -0 git rm --缓存
子模块
只有使用 gitfile 的子模块(这意味着它们是使用 Git 版本 1.7.8 或
newer) 将从工作树中删除,因为它们的存储库位于 .git 中
超级项目的目录。 如果子模块(或嵌套在其中的子模块之一)仍然
使用 .git 目录,git rm 将失败 - 无论是否强制 - 以保护
子模块的历史。 如果它存在子模块。 中的部分 git模块(5) 档案
也将被删除,该文件将被暂存(除非使用 --cached 或 -n)。
当 HEAD 与索引中记录的相同时,子模块被认为是最新的,
没有被跟踪的文件被修改,也没有未被忽略的未跟踪文件存在于
子模块工作树。 被忽略的文件被认为是可消耗的,不会停止子模块的
工作树不会被移除。
如果您只想从工作树中删除子模块的本地检出而不
提交删除,使用 git子模块(1) deinit 代替。
示例
git rm 文档/\*.txt
从文档目录下的索引中删除所有 *.txt 文件并
它的任何子目录。
请注意,在本例中,星号 * 是从 shell 引用的; 这让 Git 和
不是外壳,展开下面的文件和子目录的路径名
文档/目录。
git rm -f git-*.sh
因为这个例子让 shell 扩展星号(即你列出了
文件),它不会删除 subdir/git-foo.sh。
使用 onworks.net 服务在线使用 git-rm