为什么TortoiseGit在提交消息编辑后运行prepare-commit-msg?

时间:2016-12-22 15:37:55

标签: git git-bash tortoisegit

我有两个钩子文件," prepare-commit-msg"和#34; commit-msg"在我的.git / hooks目录中:

准备提交-MSG

#!/bin/bash
echo "prepare-commit-msg"
exit 0

提交-MSG

#!/bin/bash
echo "commit-msg"
exit 0

如果我使用Git Bash" prepare-commit-msg"在消息编辑和" commit-msg"之前运行消息编辑后,按预期方式:

Commit using Git Bash

但是,如果我使用TortoiseGit,则在消息编辑后运行两个钩子:

Commit using TortoiseGit

我知道TortoiseGit具有钩子脚本的设置(Start Commit,Pre-Commit,...),但我没有设置任何值。

1 个答案:

答案 0 :(得分:3)

TortoiseGit执行git.exe commit -m mesagefile.txt进行提交。因此,git commit命令执行所有git挂钩,因为无法使用命令行参数禁用它们。

请参阅https://tortoisegit.org/issue/1091

如果你需要更改提交消息的钩子,请使用TortoiseGit自己的钩子(cf https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html#tgit-dug-settings-hooks)。