在删除调试代码之前,如何强制git不要让我发送?

时间:2016-01-14 18:28:42

标签: git

调试时我有时搞砸了代码库,我不希望我可以留下调试代码。

示例:

// NOCOMMIT: It's annoying that this thing keeps getting deleted while testing
// db_query('DELETE FROM pdf WHERE password=?', [$password]);

我不希望git允许我提交,直到我删除NOCOMMIT:注释(并记得取消注释SQL调用!)

1 个答案:

答案 0 :(得分:2)

您可以使用git hook。你可以用几乎任何脚本语言编写一个钩子(例如Bash或Ruby)。

你需要制作一个pre-commit钩子。你把它放在你的path/to/repo/.git/hooks/目录中。事实上,你甚至可以阅读那里的样本。

你的钩子需要查看修改过的文件列表,查看注释(例如NOCOMMITTODO),然后根据调查结果继续或中断。

您可以运行此命令以获取由新行分隔的已修改文件列表。

git diff-index --cached --name-only HEAD