從 Git 中的倉庫中刪除檔案

Azhar Bashir Khan 2021年12月25日
從 Git 中的倉庫中刪除檔案

本教程將展示如何從 Git 倉庫中刪除檔案。

Git 支援協作開發環境。因此,一個開發團隊將許多檔案提交到 Git 倉庫中。

通常,我們會遇到一些不再需要或多餘的檔案。在這種情況下,我們認為刪除已經提交到倉庫中的此類檔案或資料夾是合適的。

我們現在將通過一個例子來說明這一點。

使用 git rm 刪除 Git 倉庫中的檔案和資料夾

假設我們在 Git 倉庫中有一個名為 folder1 的資料夾。另外,請考慮此資料夾有兩個檔案,file1file2

$ 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

相關文章 - Git Repository