一个奇怪的问题。我需要过滤掉存储库中任何提交消息的一部分(这是在某个迁移后自动添加的长哈希)。
由于我(以及我的团队)使用的是Tortoise Git,所以我创建了一个小包装器,基本上将所有内容转发到标准输出,除了提交消息中的哈希值。
我的假设是Tortoise Git 最终会调用git log。
事实上,我的包装器有效,当我执行git log时,我得到的结果是:
然而,当我将我的git包装器配置到tortoise git中时,我仍然看到原始的提交消息。我已经通过记录其活动来排除了包装器的问题。
当我从tortoise git中选择“显示日志”选项时,我看到以下命令被调用:
那么,Tortoise Git到底是如何显示提交信息的呢? 有一件事是确定的,提交信息不是来自git.exe的stdout,否则我会在我的包装器日志中看到它。
TICKETID-xxx
commit message
替代
TICKETID-xxx
commit message
LONG-HASH
然而,当我将我的git包装器配置到tortoise git中时,我仍然看到原始的提交消息。我已经通过记录其活动来排除了包装器的问题。
当我从tortoise git中选择“显示日志”选项时,我看到以下命令被调用:
git.exe symbolic-ref HEAD
git.exe rev-parse --revs-only --end-of-options HEAD
git.exe rev-parse --revs-only HEAD
git.exe update-index --refresh
git.exe diff-index --cached --raw HEAD --numstat -C -M -z --
git.exe diff-index --raw HEAD --numstat -C50% -M50% -z --
git.exe ls-files -u -t -z
git.exe ls-files -d -z
git.exe ls-files --exclude-standard --full-name --others -z
那么,Tortoise Git到底是如何显示提交信息的呢? 有一件事是确定的,提交信息不是来自git.exe的stdout,否则我会在我的包装器日志中看到它。