例如,我正在使用CodeIgniter框架开发一个PHP网站,该框架需要将我的哈希密钥放在Application/config/config.php
文件中。我当然不想将我的网站的哈希键推送到GitHub,但我仍然想推送其他配置设置,如语言环境,字符集等。
处理这种情况的最佳方法是什么?
答案 0 :(得分:1)
您可以创建一个.gitignore
文件,并添加您认为无需推送到GIT的文件的路径。有关详细信息,请参阅此Atlassian manual。
现在,您的.gitignore
文件应该包含:
Application/config/config.php
答案 1 :(得分:1)
如果您的框架或语言能够完成第一个,您有两种可能性,一种好的,一种不太好的。
好处:
config.php
config.user.php
文件中(您放入.gitignore
)。如果格式复杂,您可以创建并提交config.user.template.php
以帮助其他用户。 config.user.php
不太好的一个:
config.php
文件放入.gitignore
config.template.php
config.php
创建并保持最新config.template.php
(这有点痛苦)答案 2 :(得分:-1)
有几种方法可以做到:
.gitignore
.gitignore
是一个简单的文本文件,其中包含git忽略的文件列表
每个文件/模式都写在一行上,文件可以放在项目的根文件夹中,也可以放在任何内部文件夹中。
当放在根文件夹中时,它可以忽略任何子文件夹中的任何文件/文件夹。
如果您需要保留某个文件或文件夹,则无法在短语之前添加 !
。
assume-unchanged
assume-unchanged
告诉git忽略对给定文件所做的任何本地更改。在你的情况下,同样的文件具有默认值或空值,并提升未更改的标志。 git将忽略所做的任何更改,因此文件不会添加到您的存储库中。
smudge-clean
git的这个隐藏功能允许您控制从存储库添加和提取哪些内容,以便您控制任何给定文件的内容。
git hooks
请在此阅读有关如何操作的完整答案。
What are some more forceful ways than a .gitignore to keep (force) files out of a repo?