【问题标题】:git log pretty format for a certain branch某个分支的 git log 漂亮格式
【发布时间】:2021-03-30 19:57:42
【问题描述】:

我正在尝试使用 git log pretty format 命令将日志输入到 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

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

【问题讨论】:

    标签: json git pipe git-log


    【解决方案1】:

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

    不应该这样。 git log 获取当前签出提交的日志及其历史记录。 git log --all获取所有分支的日志。

    Git 历史不是线性的,看起来您正在获取已合并到当前提交中的其他分支的历史。 git log --graph --decorate 会告诉你真实的历史。

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

    git log robotics/ashish_c/infrastructure

    我正在尝试使用 git log pretty format 命令将日志输入到 json 文件中。

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 2013-03-05
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      相关资源
      最近更新 更多