我需要从我正在使用的脚本中显示我的存储库的最后一次提交:
git log -1 --pretty=oneline
问题来了:
由于想要使用这种格式打印,一行打印了整个提交哈希。
git log -1 --pretty=format:%h\ %s\ %an
但是批处理文件中的部分代码由于
%
符号而被识别为变量。为了完成显示日志,有必要发送字符
q
,当直接输入到 git bash 时效果很好,但是当从批处理文件发送时,我得到“'q' 不被识别为内部或外部命令”。
我需要从我正在使用的脚本中显示我的存储库的最后一次提交:
git log -1 --pretty=oneline
问题来了:
由于想要使用这种格式打印,一行打印了整个提交哈希。
git log -1 --pretty=format:%h\ %s\ %an
但是批处理文件中的部分代码由于%
符号而被识别为变量。
为了完成显示日志,有必要发送字符q
,当直接输入到 git bash 时效果很好,但是当从批处理文件发送时,我得到“'q' 不被识别为内部或外部命令”。
除非您在发出诸如 等命令时强制使用寻呼机git log
,否则如果没有控制终端,该命令将不会使用寻呼机,这需要您键入q
以退出寻呼机。
您可以使用以下方法测试我在此处描述的内容:
git log -1 --pretty=oneline | cat
注意cat
上面命令末尾的使用。
如果git
仍然需要您输入 a q
,那么您必须查看是否没有任何配置文件(全局-- -- 或~/.gitconfig
本地-- .git/config
)迫使 git 使用寻呼机。
您可以通过使用以下内容来规避(不更改配置文件)git的行为:
GIT_PAGER= git log -1 --pretty=oneline
注意等号和之间的空格git
。
关于百分号,您可能必须提供有关您的环境的更多详细信息,因为我看不到 bash 本身将百分号解释为变量。
至于“q”问题:
git --no-pager