Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 将敏感数据保存在未推送的分支中是否安全?_Git_Security_Privacy - Fatal编程技术网

Git 将敏感数据保存在未推送的分支中是否安全?

Git 将敏感数据保存在未推送的分支中是否安全?,git,security,privacy,Git,Security,Privacy,假设我在git工作,我创建了一个名为sensitive的分支,并提交敏感数据,例如密码、密钥。我从不在master中提交敏感数据,也从不将敏感数据合并到master中,但我会将master拉到敏感数据中。当我用git推原始主机时,是否存在将敏感数据滴推送到服务器的危险?您的问题是关于git的,但事实上,您的问题是另一个问题。它至少有一个解决方案 将敏感数据放在一个名为config的文件中,并将其名称和路径添加到.gitignore。 创建此文件的副本,我们将其命名为config.dist,将敏感

假设我在git工作,我创建了一个名为sensitive的分支,并提交敏感数据,例如密码、密钥。我从不在master中提交敏感数据,也从不将敏感数据合并到master中,但我会将master拉到敏感数据中。当我用git推原始主机时,是否存在将敏感数据滴推送到服务器的危险?

您的问题是关于git的,但事实上,您的问题是另一个问题。它至少有一个解决方案

将敏感数据放在一个名为config的文件中,并将其名称和路径添加到.gitignore。 创建此文件的副本,我们将其命名为config.dist,将敏感数据替换为虚拟数据,并将其添加到存储库中。它决不能包含敏感数据。在文件头中说明必须将其复制为配置并自定义。 让代码从config加载其配置。如果配置不可用,您可以让它加载config.dist以获得额外积分。 提交并推送。 config.dist文件用作实际配置文件的模板,该文件从未存储在repo中。每个开发人员都可以根据需要/需要自定义其配置文件。让config/config.dist包含从一个系统更改到另一个系统的所有信息,或者在项目文件路径、数据库连接参数、密码等的生命周期内可能更改的所有信息


为了回答您的问题,上面给出的解决方案是100%安全的,不考虑人为错误。由于配置文件永远不会到达repo,因此无论Git在内部如何工作,敏感数据永远不会被推送到远程repo。

您的问题是关于Git的,但事实上,您的问题是另一个问题。它至少有一个解决方案

将敏感数据放在一个名为config的文件中,并将其名称和路径添加到.gitignore。 创建此文件的副本,我们将其命名为config.dist,将敏感数据替换为虚拟数据,并将其添加到存储库中。它决不能包含敏感数据。在文件头中说明必须将其复制为配置并自定义。 让代码从config加载其配置。如果配置不可用,您可以让它加载config.dist以获得额外积分。 提交并推送。 config.dist文件用作实际配置文件的模板,该文件从未存储在repo中。每个开发人员都可以根据需要/需要自定义其配置文件。让config/config.dist包含从一个系统更改到另一个系统的所有信息,或者在项目文件路径、数据库连接参数、密码等的生命周期内可能更改的所有信息


为了回答您的问题,上面给出的解决方案是100%安全的,不考虑人为错误。由于配置文件永远不会到达repo,因此无论Git在内部如何工作,敏感数据都不会被推送到远程repo。

不,没有危险。如果你不考虑将敏感数据共享给所有可以访问你的知识库的人。

不,没有危险。如果您不考虑将敏感数据共享给所有可以访问存储库的人。

如果您从不提交敏感数据,并且从不命名分支或标签或任何敏感的东西,那么Git推送将不会推送敏感数据。但是,git的开发人员/用户有责任确保从不提交敏感数据。请参阅此处的顶部答案,以了解一种更好的方法,该方法具有更多保护措施,并且是人们决定处理这种情况的典型方式。如果您从不提交敏感数据,也从不命名分支或标记或任何敏感的东西,那么git推送将不会推送敏感数据。但是,git的开发人员/用户有责任确保从不提交敏感数据。请参阅此处的顶部答案,以了解一种更好的方法,该方法具有更多的保护措施,并且是人们决定处理这种情况的典型方式。可以实现git钩子(例如预提交)来进一步保护它不受人为错误的影响。可以实现git钩子(例如预提交)来进一步保护它不受人为错误的影响。