如何使用 PhpStorm 和 Git 忽略文件?

How to ignore files with PhpStorm and Git?

我无法忽略已经在版本控制下的文件。

"Ignore..." 条目被禁用:

第一个问题:为什么会被禁用?

2nd: 之后如何添加文件到git忽略?

非常感谢!

编辑

PhpStorm 说:"This option is only available if a file under the Unversioned Files node is selected. Use this option to ignore the selected file if you want to leave it unversioned."

(来源:https://www.jetbrains.com/help/phpstorm/2016.3/local-changes-tab.html

但有时您可能有用于初始提交的文件,然后将其添加到 git 忽略以允许本地更改(用于本地开发),同时不再将此文件提交/推送到任何存储库。

编辑 2

我现在处理这个问题的另一种方法是将带有凭据的更改添加到未提交的 Changelist

忽略已经在版本控制中的文件是没有意义的。所以你必须先删除它们:

git rm --cached filename

那么这些文件在本地存在,但已从您的存储库中删除。然后你可以忽略那些文件。

对于第一个问题,正如您在 link 中找到的那样。

对于第二个问题,如果你想忽略一个已经由 git 控制版本的文件,你应该使用 git 命令来做到这一点:

  1. 在本地仓库中,添加 .gitignore 文件中的文件名。如果没有.gitignore,可以使用touch .gitignore.
  2. git rm --cached filename.

阅读您的评论后,我认为您真正需要的是锁定文件功能,该功能(据我所知) 在 gitlab 上存在。但是...这需要中央服务器,所以它实际上违背了 git 主要思想。

在大多数情况下 - 正如 Stony 所说 - 您应该创建 config.template.phpconfig.dev.php 之类的模板文件,将 config.php 添加到 .gitignore 并让每个开发人员 rename/recreate config.php.

另一种方法是创建带有转换指令的部署脚本,该脚本将自动调整配置文件内的路径,可能会自动部署整个应用程序,并且 运行 在每次部署时都会自动部署它。

或者每次提交更改时简单地排除配置文件。