【问题标题】:Git - Exclude a config file from post-receive checkoutGit - 从接收后结帐中排除配置文件
【发布时间】:2012-04-26 06:14:47
【问题描述】:

我有一个正在本地处理的 git 项目。这是一个 PHP 项目,带有一个存储 MySQL 数据库连接信息的配置文件。我的本地 MySQL 设置与远程设置不同。

在我的遥控器上,我有一个接收后挂钩,可以将文件签出到服务器上的文件夹:

#!/bin/sh
GIT_WORK_TREE="../demo" git checkout -f
chmod +x hooks/post-receive

我如何告诉这个结帐不包括(覆盖配置文件),因为它会用我的本地配置文件替换远程配置文件?我尝试将本地配置文件添加到 .gitignore,但似乎没有这样做。

知道如何从结帐中排除配置文件吗?

【问题讨论】:

    标签: php git git-post-receive


    【解决方案1】:

    正确的解决方案是根本不提交您的 config.php(或任何名称),而是将其放入 .gitignore 并提交 config.php.example

    因此,只需从存储库中删除配置文件,在远程计算机上将其重命名,拉取以获取最新的提交(这将删除文件),然后将其移回。

    【讨论】:

    • 我以为我已经做到了,但事实证明我没有正确地做到这一点。谢谢!
    【解决方案2】:

    你可以试试这个

    运行命令:

    git rm -r --cached .
    

    这会从索引中删除所有内容,然后运行:

    git add .
    

    提交:

    git commit -m ".gitignore is now working"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-17
      • 2020-07-30
      • 2012-03-23
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多