Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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
如何将隐藏API键的代码推送到Github?_Git_Github_Api Key - Fatal编程技术网

如何将隐藏API键的代码推送到Github?

如何将隐藏API键的代码推送到Github?,git,github,api-key,Git,Github,Api Key,我想将一些代码推送到我的GitHub存储库。这些代码使用不同的语言,如Javascript、Java、Python等。其中一些代码包含一些我不想发布的私有API密钥 有没有办法自动隐藏钥匙。?我应该手动从代码中删除它吗 我想把很多项目推到GitHub上。因此,手动删除不是一个好的选择。在代码中包含API密钥可能是一个坏主意。这意味着任何其他想要使用您的代码的人都必须编辑代码并重新生成它 此类用例的教科书解决方案是将凭据移动到某个配置文件,并在README.md文件中添加有关配置文件的结构和位置的

我想将一些代码推送到我的GitHub存储库。这些代码使用不同的语言,如
Javascript
Java
Python
等。其中一些代码包含一些我不想发布的私有
API
密钥

有没有办法自动隐藏钥匙。?我应该手动从代码中删除它吗


我想把很多项目推到GitHub上。因此,手动删除不是一个好的选择。

在代码中包含API密钥可能是一个坏主意。这意味着任何其他想要使用您的代码的人都必须编辑代码并重新生成它


此类用例的教科书解决方案是将凭据移动到某个配置文件,并在
README.md
文件中添加有关配置文件的结构和位置的清晰文档。您还可以在您的
gitignore
文件中为它添加一个条目,以防止您自己(和其他任何人)错误地将您的私人信息推送到GitHub。

在代码中包含API密钥可能是个坏主意。这意味着任何其他想要使用您的代码的人都必须编辑代码并重新生成它


此类用例的教科书解决方案是将凭据移动到某个配置文件,并在
README.md
文件中添加有关配置文件的结构和位置的清晰文档。您还可以在您的
gitignore
文件中为它添加一个条目,以防止您自己(和其他任何人)错误地将您的私人信息推送到GitHub。

您可以在服务器中添加以隐藏API密钥。所有流行的编程语言都有访问环境变量的默认方法

您可以在服务器中添加以隐藏API密钥。所有流行的编程语言都有访问环境变量的默认方法

> P>你应该考虑使用<代码> .Env文件并从环境变量中读取密钥。如何做到这一点取决于您使用的语言和工具(例如,等等)


通过将
.env
添加到
.gitignore
中,可以从提交中排除
.env
文件。您还可以上传一个示例配置<代码> .ev.Engult/<代码>,用虚构的数据或空白来显示您的应用程序需要的模式。

您应该考虑使用<代码> .Env文件并从环境变量中读取密钥。如何做到这一点取决于您使用的语言和工具(例如,等等)


通过将
.env
添加到
.gitignore
中,可以从提交中排除
.env
文件。您还可以上载带有虚拟数据或空格的示例配置
.env.example
,以显示应用程序所需的架构。

任何时候您有敏感数据的文件,如

config.yml
您不能将它们提交到存储库中。我给你举个例子

假设您有一个带有用户名和密码的yaml文件:

# app/config/credentials.yml
credentials:
    username: foo
    password: bar
如果要隐藏
foo
bar
值,请从存储库中删除此文件,但添加一个
分发版
文件,该文件旨在维护用户名和密码字段,但不包含任何实际值:

# app/config/credentials.yml.dist
credentials:
    username: ~
    password: ~
在安装过程中,您可以通过将
app/config/credentials.yml.dist
复制到
app/config/credentials.yml
来获取此文件

另外,请记住将
app/config/credentials.yml
添加到
.gitignore
文件中

与api密钥相同:

# app/config/config.yml
config:
    credentials:
        username: foo
        password: bar
    api_stuffs:
        api_foo: fooooo
        api_secret: baaaaar
        api_token: tooooken

这适用于配置文件,是一种很好的模式,可以在每次需要共享配置结构时为您节省时间,但不需要共享敏感数据。初始化文件、配置等。

任何时候您有敏感数据的文件,如

config.yml
您不能将它们提交到存储库中。我给你举个例子

假设您有一个带有用户名和密码的yaml文件:

# app/config/credentials.yml
credentials:
    username: foo
    password: bar
如果要隐藏
foo
bar
值,请从存储库中删除此文件,但添加一个
分发版
文件,该文件旨在维护用户名和密码字段,但不包含任何实际值:

# app/config/credentials.yml.dist
credentials:
    username: ~
    password: ~
在安装过程中,您可以通过将
app/config/credentials.yml.dist
复制到
app/config/credentials.yml
来获取此文件

另外,请记住将
app/config/credentials.yml
添加到
.gitignore
文件中

与api密钥相同:

# app/config/config.yml
config:
    credentials:
        username: foo
        password: bar
    api_stuffs:
        api_foo: fooooo
        api_secret: baaaaar
        api_token: tooooken

这适用于配置文件,是一种很好的模式,可以在每次需要共享配置结构时为您节省时间,但不需要共享敏感数据。初始化文件、配置等。

决不提交任何包含您不希望他人看到的信息的内容。稍晚一点,但这可能有助于您处理版本控制历史记录决不提交任何包含您不希望他人看到的信息的内容。稍晚一点,但这可能有助于您处理版本控制历史记录