我有一个被提交到Git的文件。这个文件需要保存API密钥,但出于安全考虑,我不想将API密钥提交到Git。相反,我在文件中写了如何为每个开发者生成API密钥的说明。
我不希望任何开发人员意外地提交他们的API密钥并覆盖基本文件。
我已经:
- 将该文件添加到
.gitignore
文件中,但由于它已经提交了,所以这并没有起作用。 - 运行了命令
git update-index --assume-unchanged myFile.js
- 将该命令添加到说明文件中,告知其他开发人员他们也应该运行此命令。
然而,我刚换到我的笔记本电脑上,忘记运行命令,并意外地将一个密钥提交到了代码库。我正在寻找一种更可靠的方法。实际上,我想提交文件的初始版本到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;
});
pre-receive
或update
)检查所涉及文件的哈希值是否保持不变,并拒绝修改该文件的任何推送,这个方案怎么样? - jub0bs