Git 停止跟蹤檔案
Azhar Bashir Khan
2023年1月30日
Git
Git Tracking

在本教程中,我們將學習如何在 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> 以從遠端倉庫獲取新更改時,該檔案或資料夾將從該檔案系統中刪除。當我們從遠端倉庫新克隆時,這也會導致刪除檔案或資料夾。</p>
</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 倉庫中的檔案和資料夾。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe