我需要从我正在使用的脚本中显示我的存储库的最后一次提交:
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