git log 某个分支的漂亮格式

时间:2020-12-21 00:40:22

标签: json git pipe git-log

我正在尝试使用 git log 漂亮格式命令将日志输入到 json 文件中。目前我正在使用这个命令来获取特定的 git 属性:

git log --pretty="format:{commit:%h,%n merge:%p,%n author:%an,%n title:%s,%n body:%b,%n}">git_log.json

这个命令的问题在于它获取系统中所有分支的日志并输入到json中。我只想用这个命令输入某个分支的日志,我可以通过某种方式输入。

我尝试检查要注销的某个分支,然后使用该命令,但它不起作用,因为它仍然显示所有现有分支的日志。这是我在 cmd 行中失败的尝试:

git checkout robotics/ashish_c/infrastructure
git fetch

git log --pretty="format:{commit:%h,%n merge:%p,%n author:%an,%n title:%s,%n body:%b,%n}">git_log.json

但它也给了我其他分支的日志文件。 如何只获取分支机器人/ashish_c/infrastructure 的漂亮格式日志文件?

1 个答案:

答案 0 :(得分:0)

<块引用>

这个命令的问题在于它获取系统中所有分支的日志并输入到json中。

事实并非如此。 git log 获取当前签出的提交及其历史记录的日志。 git log --all 获取所有分支的日志。

Git 历史记录不是线性的,看起来您正在获取已合并到当前提交中的其他分支的历史记录。 git log --graph --decorate 将向您展示真实的历史。

<块引用>

如何只获取分支robots/ashish_c/infrastructure的漂亮格式日志文件?

git log robotics/ashish_c/infrastructure

<块引用>

我正在尝试使用 git log 漂亮格式命令将日志输入到 json 文件中。

JSON 键和字符串必须加引号。我删除了换行符以简化事情,这不是供人类消费的。而是尝试...

git log --format='{"commit":"%h", "merge": "%p", "author": "%an", "title": "%s", "body":"%b"},' > git_log.json

但这会让您没有包装 [] 和尾随 ,

相关问题