我正在尝试使用 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 的漂亮格式日志文件?
答案 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
但这会让您没有包装 []
和尾随 ,
。