當我們但用git的時候,有時候發現本地的有些檔案不想再進行跟蹤了
但是我們以前已經提交過了這個檔案,怎麼能讓git 取消跟蹤了,
git 命令提供了兩種解決方案,都可以達到目的,但是效果上還是有些細微差別的
先說第一種
假設我以前跟蹤了框架檔案中的 vendor 目錄,但是現在我不想再跟蹤它了,因這它完全可以使用 composer install來自動安裝
命令如下
git rm -r --cached vendor //這個命令是保留本地的 vendor 目錄,刪除對應遠端分支的 vendor 目錄
git commit
git push
這裡刪除了之後,記得在 .ingrone 的忽略檔案中加入 vendor的目錄,以後提交就不會有 vendor的事了
以上命令的特點是 本地的 vendor目錄是保留著的 但遠端分支上的被刪除掉了
如果 別人 git clone 這個遠端的分支是沒有 vendor這個目錄的
第二種方法
git update-index –assume-unchanged file_path
- file_path 絕對路徑
執行取消追蹤命令, 帶來效果:
1. 本地的當前分支取消了追蹤
2. 本文檔案不刪除, 遠端倉庫仍是存在此檔案。
3. 本次clone的所有分支都不追蹤此檔案。
4. 重新git clone後此檔案仍是會被追蹤。
5. 若想徹底取消並刪除追蹤檔案
git rm file_path
二. 重新跟蹤某個檔案
git update-index –no-assume-unchanged file_path
- file_path絕對路徑
git 移除檔案 取消對檔案的跟蹤
要從 git 中移除某個檔案,就必須要從已跟蹤檔案清單中移除 確切地說,是從暫存區域移除 然後提交。可以用git rm命令完成此項工作,並連帶從工作目錄中刪除指定的檔案,這樣以後就不會出現在未跟蹤檔案清單中了。如果只是簡單地從工作目錄中手工刪除檔案,執行git status時就會在 changes ...
git 移除檔案以及取消對檔案的跟蹤
要從 git 中移除某個檔案,就必須要從已跟蹤檔案清單中移除 確切地說,是從暫存區域移除 然後提交。可以用git rm命令完成此項工作,並連帶從工作目錄中刪除指定的檔案,這樣以後就不會出現在未跟蹤檔案清單中了。如果只是簡單地從工作目錄中手工刪除檔案,執行git status時就會在 changes ...
git取消跟蹤已版本控制的檔案
git 不再追蹤檔案改動 git update index assume unchanged filepathgit 恢復追蹤檔案改動 git update index no assume unchanged filepathgit 刪除被管理的檔案 不會刪除本地檔案git rm cached fi...