TortoiseGit - 更改默认合并消息

时间:2016-10-10 13:27:04

标签: git tortoisegit

系统描述:

  • Windows 7
  • git version 2.10.1.windows.1
  • TortoiseGit 2.3.0.0


我想:

合并提交消息以完全自动方式不同(手动amend


要点:

在Windows上,使用tortoiseGit,没有prepare-commit-msg hook,只有start-commit-hook无论钩子脚本是什么,我得到一个Windows弹出窗口错误:

%1 is not a valid Win32 application

另外,我希望更改“合并”的提交消息。


步骤:

设置钩子:

enter image description here

将工作树路径设置为与项目路径相同,
并在“命令行执行”中选择我准备的文件:

.git\hooks\prepare-commit-msg

其内容为echo "test"

然后我尝试提交并收到此错误:

enter image description here

我已确保此脚本文件确实是使用的文件,
因为如果我删除它,我收到这条消息:

enter image description here

1 个答案:

答案 0 :(得分:2)

TortoiseGit钩子完全独立于vanilla Git钩子。

您可以使用任何脚本语言或可执行文件作为TortoiseGit钩子脚本。但是,在配置中,您必须输入有效的Windows可执行文件作为命令,例如一个.exe文件,用于.js.vbs脚本,您需要指定解释器(wscriptcscript)以及脚本的路径作为解释器参数(参见here)。为了执行bash脚本,我认为你需要用脚本的相应参数执行bash.exe - 我以前没有对此进行过测试。

执行的钩子从TortoiseGit获取一些参数,这些参数记录在here,例如在打开提交对话框时调用Start-commit并获取三个cli参数:PATH MESSAGEFILE CWD,而PATH是包含提交对话框的所有条目的文件的路径,MESSAGEFILE是文件的路径,您可以在其中将应该用作提交消息的内容放在哪里,CWD是工作树路径。

示例可以在https://github.com/TortoiseGit/TortoiseGit/tree/master/contrib/hook-scripts/client-side

找到

PS:为了检查这是否是合并提交,您可以检查是否存在.git/MERGE_HEAD