Git在拉动时忽略文件

时间:2017-12-20 13:40:24

标签: git github

我是github的新手,我正在开发一个具有config.php文件的应用程序,您必须输入数据库凭据。

在我的github存储库中,文件是这样的:

<?php
$host_name  = "<HOST>";
$database   = "<DATABASE>";
$user_name  = "<USER>";
$password   = "<PASSWORD>";
?>

但是在网站上我有带凭据的文件:

<?php
$host_name  = "myhost";
$database   = "mydatabase";
$user_name  = "myuser";
$password   = "mypassword";
?>

在.gitignore文件中,当我开发时,我把我不想推送到我的github存储库的文件,但我现在要做的是当我拉动时忽略文件。

我想要的是从我的githubb存储库更新我的网站,但我想忽略config.php文件,因为这在每次安装时都必须是唯一的。

我该怎么办?对不起这个菜鸟问题:(

问候。

3 个答案:

答案 0 :(得分:2)

.gitignore用于忽略未跟踪的文件,但您需要忽略已跟踪文件中的更改。你可以使用git update-index --skip-worktree /path/to/config.php

请参阅https://git-scm.com/docs/git-update-index#_skip_worktree_bit

答案 1 :(得分:1)

要停止跟踪文件,您需要将其从索引中删除。这可以通过以下命令实现:

git rm --cached <file>

承诺改变

git commit -am "Remove ignored config.php"

答案 2 :(得分:1)

Dmitriy Smirnov给了我一个解决方案但是对于我来说更简单的解决方案是轴心评论。

谢谢你们的帮助。

现在我有一个config.php文件的模板,其中包含config-sample.php,如安装中的wordpress make。因此,当我更新文件时,不会覆盖包含数据库凭据的config.php文件。

编写config-sample.php记住我必须编写config.php文件并给我一个模板,说明我必须做什么来完成安装。

问候。