在添加的行中搜索 TODO 并将它们显示为 Windows 上 TortoiseGit 中的默认提交消息
Search for TODO in added lines and show them as default commit message in TortoiseGit on Windows
我在 Windows 上使用 TortoiseGit。每次我开始新的提交时,都会发生以下情况:
- 搜索包含“TODO”的添加或修改的行
- 将这些行添加到提交消息中(作为警告)
- 显示带有准备好的提交消息的提交对话框
我该怎么做?
可以使用 TortoiseGit hooks (not to be confused with git hooks):
使用以下行创建一个批处理文件(只需复制并粘贴):
git diff --color=always | findstr "[32m+[m[32m" | findstr /c:" TODO" >> %2
在 TortoiseGit 设置中转到 Hook Scripts
。
- 按
Add
。
- 检查
Enabled
。
- 选择这个钩子应该工作的路径(
*
所有路径)
- 将批处理脚本的路径放在
Command Line To Execute
框中。
- 按
Ok
并关闭设置。
- 关闭并重新打开所有其他 TortoiseGit windows 以确保挂钩已设置。
批处理文件有什么作用?
git diff --color=always
以漂亮的颜色显示所有更改。
除了 +
之外,我们还使用这些颜色来识别使用第一个 findstr
命令添加的行。
第二个 findstr
命令查找“ TODO”。
/c:
参数告诉 findstr
将 space 解释为搜索模式的一部分。
我按照上面 @Tim Pohlmann 的回答,最终将批处理脚本修改为:
git diff | findstr "^+// TODO:" > %2
我进行此更改是因为原始命令是在 TortoiseGit 提交对话框中打印颜色说明符。
此外,我必须将挂钩类型指定为“开始提交挂钩”,并在“配置挂钩脚本”对话框中选中标记为“等待脚本完成”的框。
为了进一步清楚,%2
将命令的输出通过管道传输到 TortoiseGit 的提交对话框。
我查看了添加行号,但是 git diff
命令不支持为每个 this post 添加行号。一个足够简单的解决方案是在我的 TODO 中更具描述性:)
我在 Windows 上使用 TortoiseGit。每次我开始新的提交时,都会发生以下情况:
- 搜索包含“TODO”的添加或修改的行
- 将这些行添加到提交消息中(作为警告)
- 显示带有准备好的提交消息的提交对话框
我该怎么做?
可以使用 TortoiseGit hooks (not to be confused with git hooks):
使用以下行创建一个批处理文件(只需复制并粘贴):
git diff --color=always | findstr "[32m+[m[32m" | findstr /c:" TODO" >> %2
在 TortoiseGit 设置中转到
Hook Scripts
。- 按
Add
。 - 检查
Enabled
。 - 选择这个钩子应该工作的路径(
*
所有路径) - 将批处理脚本的路径放在
Command Line To Execute
框中。 - 按
Ok
并关闭设置。 - 关闭并重新打开所有其他 TortoiseGit windows 以确保挂钩已设置。
批处理文件有什么作用?
git diff --color=always
以漂亮的颜色显示所有更改。
除了 +
之外,我们还使用这些颜色来识别使用第一个 findstr
命令添加的行。
第二个 findstr
命令查找“ TODO”。
/c:
参数告诉 findstr
将 space 解释为搜索模式的一部分。
我按照上面 @Tim Pohlmann 的回答,最终将批处理脚本修改为:
git diff | findstr "^+// TODO:" > %2
我进行此更改是因为原始命令是在 TortoiseGit 提交对话框中打印颜色说明符。
此外,我必须将挂钩类型指定为“开始提交挂钩”,并在“配置挂钩脚本”对话框中选中标记为“等待脚本完成”的框。
为了进一步清楚,%2
将命令的输出通过管道传输到 TortoiseGit 的提交对话框。
我查看了添加行号,但是 git diff
命令不支持为每个 this post 添加行号。一个足够简单的解决方案是在我的 TODO 中更具描述性:)