【问题标题】:Modify file before commit with pre-commit hook使用预提交挂钩在提交前修改文件
【发布时间】:2014-08-09 09:58:13
【问题描述】:

我正在尝试编写一个预提交挂钩来修改我的代码中的一行,但我什至不知道从哪里开始。

问题是:

我有一个KEY

public static final String APP_KEY = ""; //DELETE THE KEY BEFORE COMMIT!!!

为了避免将 KEY 发布到存储库,我认为可能需要 git hooks 而不是手动删除密钥。我看过Customizing git hooks,但我不知道怎么写。

有没有办法在提交更改之前删除 KEY 并在提交后再次写入密钥?

【问题讨论】:

  • 为什么不将密钥存储在单独的文件中,然后 gitignore 该文件?

标签: git githooks pre-commit


【解决方案1】:

这将通过 content filter driver 来完成:

  • 一个干净的脚本,将在签入时删除密钥
  • 一个涂抹脚本,可在结帐时将其重新添加。

(图片来自“Customizing Git Attributes”来自Git Book

查看如何在“Can git automatically switch between spaces and tabs?”中声明这些过滤器的示例

【讨论】:

  • 嗯,谢谢,我会尝试写一个简单的脚本。
  • @algui91 是的,我们的想法是能够通过.gitattributes filter 命令将该脚本与单个文件或文件类型相关联。
  • 这是蹩脚的。展示图表很棒,但这一切给我们留下的问题多于答案。为什么不用示例代码来扩展它。
  • @JohnRiselvato stackoverflow.com/a/2316728/6309 是(在答案中提到)假设说明声明为内容过滤器驱动程序的清洁/涂抹脚本的示例。不要犹豫,提出一个新问题(带有返回此答案的链接)以获得更多信息。
猜你喜欢
  • 2014-07-26
  • 2013-05-13
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 2012-08-23
相关资源
最近更新 更多