Git 运行';吉特rm';要新文件吗?

Git 运行';吉特rm';要新文件吗?,git,git-rm,Git,Git Rm,我做了以下工作(为了学习git rm) 在空文件夹上创建了空存储库。 创建了一个名为test.txt的文件,对其进行修改,然后运行以下程序(以及随后的结果) 所以,我的问题是: 什么时候,git rmtest.txt真正有用 什么时候git rm test.txt真正有用 当您已经将文件添加并提交到存储库时。该git rm用于: 从索引或工作树和索引中删除文件 工作树和索引有什么区别?我经常听说工作目录、暂存区和git目录(存储库)。大多数情况下,如果您没有提交文件,并且希望“撤消”一个git

我做了以下工作(为了学习git rm)

在空文件夹上创建了空存储库。 创建了一个名为test.txt的文件,对其进行修改,然后运行以下程序(以及随后的结果)

所以,我的问题是:

什么时候,
git rm
test.txt真正有用

什么时候git rm test.txt真正有用

当您已经将文件添加并提交到存储库时。该
git rm
用于:

从索引或工作树和索引中删除文件


工作树和索引有什么区别?我经常听说工作目录、暂存区和git目录(存储库)。大多数情况下,如果您没有提交文件,并且希望“撤消”一个
git add
,那么您只需使用
git reset
。不过有一个例外:谷歌是你的朋友:如果索引是我的暂存区,那么
git rm
会从那里删除文件,但是(就像我原来的问题一样)我在尝试时得到了这样的结果:
error:'test.txt'在索引中暂存了更改
,这只是一个警告。您没有尝试使用git rm-f text.txt吗?
git rm test.txt -> `fatal: pathspec 'test.txt' did not match any files`

git add test.txt && git rm test.txt -> 
error: 'test.txt' has changes staged in the index
                   (use --cached to keep the file, or -f to force removal)