我正在构建一个自动化工具,并尝试通过命令行获取一些有关Git提交的信息。 我想要的信息可以通过以下git log命令获得:
git log --branches --graph --oneline --parents
这会产生以下输出:
这非常好,因为它具有我想要的哈希和标签,以及提交消息。但是,当我将其管道传输到文件时,括号中的内容似乎会丢失。我不太关心颜色,但我确实想要像任何*nix类似程序一样的纯文本。
这是我似乎得到的输出,它省略了我想要的某些输出(例如,标记信息):
我不确定为什么在管道传输到其他地方时会丢失此信息。我觉得这可能是非常简单和明显的事情。
我在Arch Linux上的Bash(使用最新版本的git)或Windows中的MINGW64 Bash环境中执行此操作时都遇到了同样的问题。
问题:如何完全捕获git log的输出,而不会丢失管道到文件时丢失的信息?
2>&1
- Gerald Schneidergit
检测到其标准输出不是终端时,它的行为可能会有所不同。然而,还有其他事情正在发生,因为您不应该在命令中没有--decorate
选项的情况下获得该输出。 - chepnerlog.decorate
配置值设置为auto
,非常简单。 - Mark Adelsberger