文件可以被跟踪或取消跟踪。我们通过执行“git add”开始跟踪文件。
现在假设我们要停止跟踪一个文件。我会假设“git rm”是要走的路。我的期望是通过“git rm”我们使文件“未跟踪”。然而,实际上我们完全删除了文件。为什么?以及如何使文件不被跟踪(不删除它)。
最佳答案
停止跟踪文件的命令是git rm --cached
.
请记住,Git 使用索引来准备下一次提交。您使用 git add
将工作树中的文件添加到索引.
从项目中完全删除文件比取消跟踪更常见。这就是为什么 git rm
从项目中完全删除文件,即从工作目录和索引中删除。
为了仅从您拥有的存储库中删除文件,实际上是将其从索引中删除(或者更准确地说,将其标记为已删除),因为这是准备下一次提交的地方。 --cached
选项告诉 git rm
这件事。 (请注意,其他命令也使用 --cached
来引用存储在索引中的文件副本)。
关于git - 为什么 git-rm 与 git-add 不相反?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47532428/