首页 > 解决方案 > 与使用 git rm 相比,从工作目录中删除文件并提交

问题描述

我正在读一本 Git 书,上面写着:

要从 Git 中删除文件,您必须将其从跟踪的文件中删除(更准确地说,将其从暂存区域中删除)然后提交。“git rm”命令可以做到这一点

但我想我也可以通过这种方式实现相同的目的,假设我需要删除一个名为abc.txt: 首先,我删除abc.txt. 其次,我使用:

git 添加 abc.txt

接着

git commit -m "删除 abc.txt"

这和使用不是一回事git rm吗?

我的另一个问题是,我已经手动删除abc.txt了,所以它不再存在于硬盘上,我怎么还能发出“git add abc.txt”,因为文件仍然存在?

标签: git

解决方案


删除文件的说明git add

添加删除的文件一开始似乎是倒退的 - 这是解释。

git add命令将工作目录中文件的任何更改添加到索引中,以便它们准备好提交。它不会直接将文件添加到 repo 中,这在第一次使用 git 时会令人困惑。

因此,如果这些更改是新文件、对现有文件的更改,甚至是文件的删除,都无关紧要,git add只是通过将它们移动到提交暂存区域(索引)来准备将它们添加到存储库中.

使用 git 中发生的不同传输的概览图像,如下所示(从 Google 图像中提取)。蓝色add箭头显示工作区和索引之间的移动变化。 Git 文件存储区域和在它们之间移动的命令


推荐阅读