我想使用脚本创建所有提交的补丁,但git format-patch
在脚本中显示fatal: bad revision
错误。当我使用sed的输出时它不起作用但是当我手动操作或手动设置变量时,git格式工作得很好。我在mac终端上。
请帮忙。
git format-patch -1 `git log -1 --pretty=oneline | sed 's/ .*//'` --
也会显示错误。
答案 0 :(得分:2)
难以阅读图像(点击时没那么糟糕),但真正的赠品就是颜色。当你这样做时:
echo $a
以c4e13
开头的输出为黄色。如果你写了:
echo c4e13
输出为白色。
修辞/苏格拉底问题:为什么?什么是导致SHA-1为黄色的$a
?
答案:它包含一些嵌入式颜色切换ASCII控制代码(可能是转义,左括号,数字,字母-m)。这些不是SHA-1的一部分;它们是由你的git log
生成的,因为你强迫它产生颜色,即使输出是管道。 (默认情况下,git在管道时停止着色输出。)
确保在编写脚本时(即使是像这样的简单的脚本)捕获ANSI终端控制序列。另请注意,如果要获取与HEAD
关联的SHA-1,请使用" git plumbing命令" (用于编写脚本)执行此操作的是git rev-parse HEAD
。