Heim > Fragen und Antworten > Hauptteil
描述你的问题
有开发过程中,有些文件当时没有当初没有忽略掉,添加到 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
点代表当前目录
当然,不加./
也行,默认当前目录