.gitignore 没有忽略文件

.gitignore didn't ignore files

我的 CakePHP 项目的配置内容与服务器上的配置不同。

我使用这个命令创建了 .gitignore 文件: cd /var/www/html/tmc && touch .gitignore

然后我把这个写进了文件:

/app/tmp/*
/app/Config/core.php
/app/Config/database.php
/vendors/*

但是当我推送时,这些文件又被改变了。

我做错了什么?

很有可能,您的文件已经被 Git 跟踪,在这种情况下,Git 将无视您的 .gitignore 规则并提交文件。如果你想让 Git 忘记你必须从存储库中 git rm 的文件:

git rm --cached app/Config/core.php
git rm --cached app/Config/database.php

您要忽略的所有文件依此类推。

在 运行 这些命令之后,您的工作树应该有与您所做的删除相对应的更改。提交并推送后,文件将不再被跟踪。

即使不被 .gitignore 文件忽略,也从根目录执行 步骤1 git update-index --assume-unchanged 文件名

第 2 步转到 排除 .git/info 中的文件并复制过去的文件名 内部排除文件

例如排除 rootfile/abc.txt 文件
git update-index --assume-unchanged rootfile/abc.txt 并在 .git/info 文件 rootfile/abc.txt

内的排除文件中