Git 停止跟蹤檔案

Azhar Bashir Khan 2023年1月30日
  1. 使用 git rm 停止跟蹤 Git 中的檔案
  2. 在 Git 中使用 git update-index 停止跟蹤檔案
Git 停止跟蹤檔案

在本教程中,我們將學習如何在 Git 中停止跟蹤倉庫中的檔案和資料夾。

在開發倉庫中,我們經常遇到這樣的情況,我們不再希望在 Git 中跟蹤某些檔案的更改。

假設我們有一個檔案,我們現在覺得它是多餘的,不再與專案相關。在這種情況下,我們希望從 Git 倉庫中的跟蹤中刪除該檔案。

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

使用 git rm 停止跟蹤 Git 中的檔案

假設我們在 Git 的倉庫中有一個名為 file1 的檔案,我們不再希望跟蹤它。

我們可以使用帶有 --cached 選項的 git rm 命令從 Git 中的跟蹤中刪除該檔案。

$ git rm --cached file1
rm 'file1'

我們還可以使用以下命令從 Git 倉庫中的跟蹤中刪除資料夾。

$ git rm -r --cached <folder-name>

這將從跟蹤中刪除指定的檔案或資料夾(即)從索引中刪除它;但不會從檔案系統中刪除該檔案。

注意
<div class="panel panel-primary panel-warning">
<div class="panel-heading">注意</div>
<div class="panel-body">當我們在其他機器上執行 <code>git pull</code> 以從遠端倉庫獲取新更改時,該檔案或資料夾將從該檔案系統中刪除。當我們從遠端倉庫新克隆時,這也會導致刪除檔案或資料夾。</div>
</div>

另請注意,我們需要提交檔案刪除以更新遠端倉庫中的此更改。

$ git commit -m "Removed file1"
$ git push

在 Git 中使用 git update-index 停止跟蹤檔案

有時,我們可能希望在倉庫中保留一個檔案,但不再希望跟蹤其更改。我們可以使用帶有 --skip-worktree 選項的 git update-index 命令來實現這一點。

$ git update-index --skip-worktree file1

命令 git update-index--skip-worktree 選項使 Git 假裝檔案的版本是最新的,而是從索引版本中讀取。這對於配置檔案特別有用。

我們可能在倉庫中有一些具有預設值或生產值的配置檔案,我們可能會根據需要對其進行一些更改,但不想提交這些更改。用於命令 git update-index--skip-worktree 選項對於此類目的非常方便。

因此,我們詳細說明了停止跟蹤 Git 倉庫中的檔案和資料夾。

相關文章 - Git Tracking