描述你的問題
有開發過程中,有些檔案當時沒有當初沒有忽略掉,加入到 git 中了(設定檔config.php),現在要從git中進行刪除。
貼上相關程式碼
$git rm --cached /config/config.php
貼上報錯訊息
fatal: Could not switch to 'D:/Program Files (x86)/Git/config/': No such file or directory
執行指令 git 直接從指令所在的目錄進行解析路徑了,而沒有從倉庫目錄開始解析路徑,所以才出現這個問題。
以前用過這個指令是不有問題的,想知道如何解決?
巴扎黑2017-05-02 09:30:21
有時候我們新增.gitignore檔案之前已經提交過了文件。 .gitignore只能忽略那些原來沒有被track的文件(自添加以後,從未 add 及 commit 過的文件),如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。就需要執行:
git rm -r --cached . #删除追踪状态
git add .
git commit -m "fixed untracked files"
大家讲道理2017-05-02 09:30:21
/config/config.php
不是目前目錄下的config目錄裡的文件,而是根目錄下的config目錄
改成
git rm --cached ./config/config.php
點代表目前目錄
當然,不加./
也行,預設當前目錄