【发布时间】:2015-12-14 06:08:20
【问题描述】:
我有一个文件已签入 Git。该文件需要保存一个 API 密钥,但出于安全原因,我不希望将 API 密钥提交给 Git。我没有解释 API 密钥,而是解释了如何生成 API 密钥供每个开发人员使用。
我不希望任何开发人员意外提交他们的 API 密钥并覆盖基本文件。
我有:
- 已将文件添加到
.gitignore文件中,但由于它已提交,因此不会执行任何操作。 - 运行命令
git update-index --assume-unchanged myFile.js - 将命令添加到说明文件中,以通知其他开发人员他们也应该运行此命令。
但是,我刚搬到我的笔记本电脑上,忘记运行命令,并且不小心提交了 repo 的密钥。我正在寻找一种更安全的方法。本质上,我想将文件的初始版本提交到 GitHub,然后禁止修改该文件。
这可能吗?
作为参考,该文件类似于:
define(function () {
// The Simple API Access API key is used here.
// Please note that I've specifically omitted this key from GitHub for security.
// Feel free to generate your own in order to use YouTube's API: https://code.google.com/apis/console/
// A valid key will look something like:
// Key for browser apps (with referers)
// API key: -------------------------------
// Referers: Any referer allowed
// Activated on: Apr 6, 2014 2:46 PM
// Activated by: ------------ – you
// NOTE: Please do not commit changes to this file once downloaded. CommandS:
// - Disable tracking: "git update-index --assume-unchanged src/js/background/key/youTubeAPI.js"
// - Enable tracking: "git update-index --no-assume-unchanged src/js/background/key/youTubeAPI.js"
var key = 'API_KEY_MISSING';
if (key === 'API_KEY_MISSING') {
console.error('YouTube API key is not present.');
}
return key;
});
【问题讨论】:
-
如何使用server-side hook(
pre-receive或update)检查相关文件的哈希值是否保持不变并拒绝任何修改该文件的推送? -
@Jubobs 这看起来像是要走的路。您能否再次回复而不是评论,我会接受?谢谢。 (顺便说一句,这不适用于 GitHub,但它确实回答了我的问题。)
-
今天,出于同样的原因,我问了同样的问题,人们认为我疯了。不过,看起来这是 git 用户的需求! stackoverflow.com/questions/69799488/…
标签: git