Git 停止跟蹤檔案
Azhar Bashir Khan
2023年1月30日
在本教程中,我們將學習如何在 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 倉庫中的檔案和資料夾。