如何在git存储库中隐藏一行代码?

如何在git存储库中隐藏一行代码?,git,github,repository,Git,Github,Repository,我有一些GitHub存储库,其中有到在线数据库的连接字符串,如Mongo和Firebase 我已经看到了一些解决这个问题的方法。但我想知道是否有办法在特定文件中隐藏一行代码,这样其他人就看不到敏感数据,我就有可能丢失这些数据 注意:我无法删除整个文件,因为其中有一些重要的配置,我只想“让一些代码行对其他人不可见”。可能吗 我认为通常的做法是在连接配置中使用环境变量。通过这种方式,您可以在存储库中共享example.env config文件,并为自己保留密码等 如何在应用程序中使用环境变量? 这取

我有一些GitHub存储库,其中有到在线数据库的连接字符串,如Mongo和Firebase

我已经看到了一些解决这个问题的方法。但我想知道是否有办法在特定文件中隐藏一行代码,这样其他人就看不到敏感数据,我就有可能丢失这些数据


注意:我无法删除整个文件,因为其中有一些重要的配置,我只想“让一些代码行对其他人不可见”。可能吗

我认为通常的做法是在连接配置中使用环境变量。通过这种方式,您可以在存储库中共享example.env config文件,并为自己保留密码等

如何在应用程序中使用环境变量?
这取决于您使用的技术和环境,因此很难给出一个可靠的答案。

不,这是不可能的,您永远不应该将凭据和其他机密数据放入GitHub纯文本中。有很多机器人扫描git并从那里收集密码

这是不可能的,因为即使你能做到这一点。有人可以简单地分叉/克隆您的存储库,并能够在他们的磁盘上再次看到数据

你应该考虑转换一种不同的方式向你的应用程序提供证书,比如秘密或者至少是环境变量。


但一般来说,问题的答案是否定的,因为这不是git的工作方式。

人们倾向于在项目中包含一个示例文件,并设置
。gitignore
忽略实际文件,使其不包含在项目中


因此,类似于使用一个名为
config.properties.sample
的默认值文件,让应用程序读取
config.properties
,并使用一行内容
config.properties
设置
.gitignore
。一个新的开发人员坐下来,克隆,从样本调整值创建真实的文件,然后每个人都会很高兴。

在重复上面的“ffs不要将同一数据集中的秘密与公共数据混合”回答之后,我将补充说,Git确实允许数据进出存储库,请参阅一个密切相关的问题。有时,您会被代码卡住,仍然认为“悄悄地隐藏起来”足以确保安全,您必须经历这样的循环。

这是否回答了您的问题?是的,我应该在一年前就想到这一点。现在,我有一些旧的存储库,其中包含大量提交。要一个接一个地编辑它们真的很难,删除那些敏感数据行。非常感谢。是的,我的建议是在找到解决方案之前将回购协议保密,否则,如果你有数据库连接的详细信息,它很容易被黑客攻击。谢谢你,我来看看。是的,这是我现在会使用的解决方案,但我没有想到提前一年的问题。哈哈。谢谢若你们需要的话,你们可以重写分支的历史记录。是的,我已经用bfg回购清理器完成了。我可以重写历史记录中的敏感代码行,也可以完全删除包含敏感数据的文件或文件夹。