提交 eda6f80d 编写于 作者: H honglyua

update git rm

上级 276d17e3
......@@ -14,15 +14,15 @@ git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <fi
## 描述
从索引中删除文件,或从工作树和索引中删除文件。 `git rm`不会仅从您的工作目录中删除文件。 (没有选项只能从工作树中删除文件并将其保留在索引中;如果要这样做,请使用`/bin/rm`。)要删除的文件必须与分支的尖端相同,并且虽然可以使用`-f`选项覆盖默认行为,但不能在索引中暂存对其内容的更新。当给出`--cached`时,分阶段内容必须匹配分支的尖端或磁盘上的文件,从而允许仅从索引中删除文件。
从索引中删除文件,或从工作树和索引中删除文件。 `git rm`不会仅从您的工作目录中删除文件。 (没有选项能只将文件从工作树中删除而还在索引中保留;如果非要这样做,请使用`/bin/rm`。)要删除的文件必须与分支的尖端相同,并且虽然可以使用`-f`选项覆盖默认行为,但不能在索引中暂存对其内容的更新。当给出`--cached`时,分阶段内容必须匹配分支的尖端或磁盘上的文件,从而允许仅从索引中删除文件。
## OPTIONS
## 选项
```
<file>…​
```
要删除的文件。可以给出Fileglobs(例如`*.c`)以删除所有匹配的文件。如果你想让Git扩展文件glob字符,你可能需要shell转义它们。可以给出一个前目录名称(例如,删除`dir/file1``dir/file2``dir`)以删除目录中的所有文件,并递归地删除所有子目录,但这需要明确给出`-r`选项。
要删除的文件。可以给出Fileglobs(例如`*.c`)以删除所有匹配的文件。如果你想让Git扩展文件glob字符,你可能需要shell转义它们。可以给出一个前目录名称(例如,删除`dir/file1``dir/file2``dir`)以删除目录中的所有文件,并递归地删除所有子目录,但这需要明确给出`-r`选项。
```
-f
......@@ -80,7 +80,7 @@ git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <fi
## 讨论
&lt; file&gt;给予命令的列表可以是精确的路径名,文件glob模式或前导目录名。该命令仅删除Git已知的路径。给你没有告诉Git的文件的名称不会删除该文件
<file>给予命令的列表可以是精确的路径名,文件glob模式或前置目录名。该命令仅删除Git已知的路径。已知文件路径,但没有告诉Git的文件不会被删除
文件通配符跨目录边界匹配。因此,给定两个目录`d``d2`,使用`git rm 'd*'``git rm 'd/*'`之间存在差异,因为前者也将删除所有目录`d2`
......@@ -120,9 +120,9 @@ git add -A
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
```
## 子模
## 子模
只有使用gitfile的子模块(这意味着它们用Git 1.7.8或更新版本克隆)将从工作树中删除,因为它们的存储库位于超级项目的.git目录中。如果子模块(或其中嵌套的子模块之一)仍然使用.git目录,`git rm`会将子模块git目录移动到superprojects git目录中以保护子模块的历史记录。如果它存在子模块。&lt; name&gt; [gitmodules [5]](https://git-scm.com/docs/gitmodules) 文件中的部分也将被删除,该文件将被暂存(除非使用了--cached或-n)。
只有使用gitfile的子模块(这意味着它们用Git 1.7.8或更新版本克隆)将从工作树中删除,因为它们的存储库位于超级项目的.git目录中。如果子模块(或其中嵌套的子模块之一)仍然使用.git目录,`git rm`会将子模块git目录移动到superprojects git目录中以保护子模块的历史记录。如果[gitmodules [5]](https://git-scm.com/docs/gitmodules)中存在submodule.<name>部分,那么文件将被删除,并被暂存(除非使用了--cached或-n)。
当HEAD与索引中记录的相同时,子模块被认为是最新的,未修改跟踪文件,并且子模块工作树中不存在未被忽略的未跟踪文件。忽略的文件被认为是可消耗的,并且不会阻止子模块的工作树被删除。
......@@ -146,7 +146,7 @@ git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
## BUGS
每次超级项目更新删除填充的子模块时(例如,在删除之前和之后切换提交时),旧的子模块结帐将保留在旧位置。删除旧目录只有在使用gitfile时才是安全的,否则子模块的历史记录也将被删除。当实现递归子模块更新时,此步骤将过时。
每次超级项目更新删除填充的子模块时(例如,在删除之前和之后切换提交时),旧的子模块检出将保留在旧位置。删除旧目录只有在使用gitfile时才是安全的,否则子模块的历史记录也将被删除。当实现递归子模块更新时,此步骤将过时。
## 也可以看看
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册