从分支名称解析票号并将其显示为 Windows 上 TortoiseGit 中的默认提交消息
Parse ticket number from branch name and show it as default commit message in TortoiseGit on Windows
我的功能分支称为 feature/x_somename
,其中 x
是票号。每次我开始新的提交时,都会发生以下情况:
- 从分支名称解析票号。
- 将
refs #x:
放入提交消息中(其中 x 是票号)。
- 显示带有准备好的提交消息的提交对话框
我该怎么做?
可以使用 TortoiseGit hooks (not to be confused with git hooks):
创建一个包含以下行的批处理文件(只需复制和粘贴):
:: try to parse ticket number from branchname (expected format: "sometext/ticketnumber_sometext")
for /f "tokens=2 delims=/_" %%i in ('git rev-parse --abbrev-ref HEAD') do set c=%%i
:: print "refs #ticketnumber: "
if defined c echo refs #%c%: >> %2`
在 TortoiseGit 设置中转到 Hook Scripts
。
- 按
Add
。
- 检查
Enabled
。
- 选择这个钩子应该工作的路径(
*
所有路径)
- 将批处理脚本的路径放入
Command Line To Execute
框中。
- 按
Ok
并关闭设置。
- 关闭并重新打开所有其他 TortoiseGit windows 以确保挂钩已设置。
批处理文件有什么作用?
git rev-parse --abbrev-ref HEAD
returns 分支名称。
for
命令将结果拆分为 /
和 _
。
然后它将采用此拆分的第二部分并将其保存在 %%i.
然后它将 %%i 保存到变量 c.
if
只是检查 c 是否被定义,如果是则打印结果。
我的功能分支称为 feature/x_somename
,其中 x
是票号。每次我开始新的提交时,都会发生以下情况:
- 从分支名称解析票号。
- 将
refs #x:
放入提交消息中(其中 x 是票号)。 - 显示带有准备好的提交消息的提交对话框
我该怎么做?
可以使用 TortoiseGit hooks (not to be confused with git hooks):
创建一个包含以下行的批处理文件(只需复制和粘贴):
:: try to parse ticket number from branchname (expected format: "sometext/ticketnumber_sometext") for /f "tokens=2 delims=/_" %%i in ('git rev-parse --abbrev-ref HEAD') do set c=%%i :: print "refs #ticketnumber: " if defined c echo refs #%c%: >> %2`
在 TortoiseGit 设置中转到
Hook Scripts
。- 按
Add
。 - 检查
Enabled
。 - 选择这个钩子应该工作的路径(
*
所有路径) - 将批处理脚本的路径放入
Command Line To Execute
框中。 - 按
Ok
并关闭设置。 - 关闭并重新打开所有其他 TortoiseGit windows 以确保挂钩已设置。
批处理文件有什么作用?
git rev-parse --abbrev-ref HEAD
returns 分支名称。
for
命令将结果拆分为 /
和 _
。
然后它将采用此拆分的第二部分并将其保存在 %%i.
然后它将 %%i 保存到变量 c.
if
只是检查 c 是否被定义,如果是则打印结果。