git rm 命令用于从索引中删除文件或者同时从工作区和索引中删除文件。
从索引删除文件。
git rm [options] files
参数 | 描述 |
---|---|
options | git rm 命令使用的参数。 |
files | 需要删除的文件。 |
参数 | 描述 |
---|---|
–cached | 不删除本地的文件。 |
命令 | 描述 |
---|---|
git rm | 同时从工作区和索引中删除文件,即本地的文件也被删除了。 |
git rm --cached | 从索引中删除文件,但是本地文件还存在, 只是不希望这个文件被版本控制。 |
git rm 删除文件之后,本地的文件也会被删除,因此,需要小心操作。上述操作最后要执行 git commit 才真正提交到 git 仓库。
命令 | 描述 |
---|---|
git rm | 删除文件,同时还会将这个删除操作记录下来。 |
rm | 删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除。 |
即使你已经通过 rm 将某个文件删除掉了,也可以再通过 git rm 命令重新将该文件从 git 的记录中删除掉。
注意:上述操作最后要执行 git commit 才真正提交到 git 仓库。
参数 | 描述 |
---|---|
git rm file | 删除文件之后,本地的文件也会被删除。 |
git rm --cached file | 本地文件不删除。 |
git rm
我们首先,查看本地工作区的文件列表如下:
我们使用 git rm 命令,删除 git 中的文件,同时也删除本地的文件,具体命令如下:
git rm haicoder1.txt
执行完毕后,如下图所示:
现在,我们再次查看本地工作区的文件列表如下:
我们看到,本地的文件已经被删除了,现在,我们使用 git status 命令,查看文件状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,已经提示我们删除了文件 haicoder1.txt,现在,我们使用 git commit 提交本次删除的文件,具体命令如下:
git commit -m"Delete file haicoder1.txt"
执行完毕后,如下图所示:
现在,我们再次使用 git status 命令,查看文件状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,此时,工作区已经没有任何修改了。
git rm --cached
我们首先,查看本地工作区的文件列表如下:
我们使用 git rm 命令,删除 git 中的文件,但不删除本地的文件,具体命令如下:
git rm --cached haicoder2.txt
执行完毕后,如下图所示:
现在,我们再次查看本地工作区的文件列表如下:
我们看到,本地的文件并没有被删除,现在,我们使用 git status 命令,查看文件状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,已经提示我们删除了文件 haicoder2.txt,现在,我们使用 git commit 提交本次删除的文件,具体命令如下:
git commit -m"delete haicoder2.txt"
执行完毕后,如下图所示:
现在,我们再次使用 git status 命令,查看文件状态,具体命令如下:
git status
执行完毕后,如下图所示:
我们看到,此时,提示我们 haicoder2.txt 文件没有被追踪,因为,我们使用了 git rm --cached 将其删除了,但本地并未删除。
git rm 命令用于从索引中删除文件或者同时从工作区和索引中删除文件。