从 Git 中的仓库中删除文件
Azhar Bashir Khan
2021年12月25日
本教程将展示如何从 Git 仓库中删除文件。
Git 支持协作开发环境。因此,一个开发团队将许多文件提交到 Git 仓库中。
通常,我们会遇到一些不再需要或多余的文件。在这种情况下,我们认为删除已经提交到仓库中的此类文件或文件夹是合适的。
我们现在将通过一个例子来说明这一点。
使用 git rm
删除 Git 仓库中的文件和文件夹
假设我们在 Git 仓库中有一个名为 folder1
的文件夹。另外,请考虑此文件夹有两个文件,file1
和 file2
。
$ ls folder1/
file1 file2
要删除 Git 仓库中的文件,我们需要执行以下操作。
$ git rm <filename>
$ git commit -m "commit message"
$ git push origin branch_name
第一个命令从 Git 仓库和文件系统中删除文件。随后的命令用于提交更改并将更改文件删除推送到远程仓库。
因此,要删除 file1
,我们将在我们的示例中执行以下操作。
$ cd folder1
$ git rm file1
rm 'folder1/file1'
我们已经移动到 folder1
并从仓库和文件系统中删除了 file1
。
我们可以检查删除的状态如下。
$ git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: file1
现在,我们将按如下方式提交此删除操作。
$ git commit -m "deleted file"
[main 27ec53b] deleted file
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file1
$ git push origin main
有时,我们可能希望仅从仓库而不是从文件系统中删除文件。我们可能想将该文件用于其他目的。
要仅从仓库而不是从文件系统中删除文件,我们需要执行以下操作。
$ git rm --cached file2
$ git commit -m "Removed file2 from repository only"
$ git push origin main
当我们使用 --cached
选项运行 git rm
命令时,文件会从仓库中删除,但不会从工作树(即)文件系统中删除。
有时,我们可能需要删除整个文件夹。
为此,我们需要将选项 -r
添加到 git rm
命令,如下所示。
$ git rm -r folder1
rm 'folder1/file2'
$ git commit -m "removed folder1"
[main dabfe02] removed folder1
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 folder1/file2
$ git push origin main
因此,在我们的示例中,我们现在删除了文件夹,即 folder1
及其内容。
有关 git rm
的更多信息,请浏览以下站点 - git rm
。