9

我有一个 PHP 配置文件,我想在本地操作,但在git commits我的主存储库期间忽略这些更改。我有一个.gitignore文件曾经忽略此 PHP 文件,但发生了不好的事情,现在该config.php文件不再被忽略,我不记得如何重新忽略它。

我知道 SO 上的人说要使用git rm --cached <filename>,但我一生都无法弄清楚如何不git rm...继续删除我的 config.php 文件。

我想知道是否有人可以列出如何忽略我的 config.php 以便我可以继续在本地对其进行编辑,但这些更改不会添加到存储库中。

这是我的全部内容.gitignore

application/config.php

这是我的一些 php 代码,我config.php想保留在本地,而不是进入我的主仓库:

$config['base_url'] = "http://localhost/";
//$config['base_url'] = "http://mysite.com/"; // this is the code and NOT
// "http://localhost" that i'd like to keep in my repo

这就是删除我的文件的原因:

  1. git rm --cached application/config.php
  2. 更改application/config.php文件和另一个文件(作为控件)
  3. git commit -m 'config.php shouldn't be changed'

    结果:(2 files changed, 1 insertions(+), 370 deletions(-)config.php370 行长)

4

2 回答 2

14

我解决了我自己的问题。我实际上需要这个:

git update-index --assume-unchanged <filename>

假设在我的问题中如上所述指定了 .gitignore 和 config.php 文件,这是完整的工作流程:

  1. git update-index --assume-unchanged application/config.php
  2. git add -A
  3. git commit -m 'now config.php will be ignored'
  4. git push origin master

现在http://localhost将保留在我的本地仓库副本的http://my-site.comconfig.php 中,并将保留在我的主仓库的 config.php 中。

于 2012-09-05T03:19:13.950 回答
0

你需要config.php在你的 .gitignore 文件中。

但是,如果您实际上已将 config.php 添加到您的存储库中,您将需要git rm它然后提交,然后重新创建它(或者您可以制作一个副本然后再复制回来)。

于 2012-09-05T03:05:20.330 回答