当进行拉取操作时如何忽略Git中的某些文件

4

我是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仓库的文件,但现在我想在执行pull操作时忽略这些文件。
我想从我的github仓库更新网站,但是我想忽略config.php文件,因为每次安装都必须是唯一的。
我该如何做呢?

1
可能是重复的问题,关于如何在本地配置 Git 忽略某些文件。原链接:https://dev59.com/D3I-5IYBdhLWcg3woKBJ - Dmitrii Smirnov
2
不要将 config.php 放在代码库里。为这个文件创建一个模板(使用不同的名称),并将模板放入代码库中。将 config.php 添加到 .gitignore 中。 - axiac
我喜欢那个选择,就像WordPress的wp-config-sample.php文件一样。我想要实现的是通过Github轻松更新我所有的安装程序。这些存储库不会进行任何提交。只是为拉取命令忽略而已。 - Roke
2个回答

3

1
但是所有克隆存储库都将忽略此文件,我想第一次下载此文件,然后在克隆存储库中配置忽略选项。问题是,如果我不在第一次下载时下载此文件,我就不会记得进行配置 :) - Roke
这将仅忽略您在其中执行命令的存储库中的更改。您无法将此更改推送到中央存储库,因此它不会影响其他克隆。因此,您可以在中央存储库中使用模板数据的config.php,并根据需要在每个克隆中进行编辑,并使用--skip-worktree标记进行标记。 - Dmitrii Smirnov
好的,现在我明白了。对不起,我的错误。 - Roke

1
要停止跟踪文件,您需要将其从索引中删除。 可以使用以下命令实现这一点: git rm --cached <file> 提交更改 git commit -am "Remove ignored config.php"

2
如果另一个用户拉取这个提交,他们的本地文件会被删除吗? - golimar
是的,这会删除文件,所以你需要从另一个地方再次复制它。 - Yvan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接