我是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文件,因为这在每次安装时都必须是唯一的。
我该怎么办?对不起这个菜鸟问题:(
问候。
答案 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文件并给我一个模板,说明我必须做什么来完成安装。
问候。