单个修订版的git日志

zed*_*doo 167 git git-log

我有一个提交c.我想得到那个确切的提交c + metainformation的变更集而不是其他的.有没有比这更简单的方法git log -p c^..c

Mic*_*bus 255

你可以使用show:

git show commit_id
Run Code Online (Sandbox Code Playgroud)

  • git show 默认将 HEAD 作为 commit_id,因此 git show 本身显示当前分支的单个最新提交。 (2认同)

Sup*_*Guy 56

Michal Trybus的回答是最简单的.但是如果你不想在输出中使用diff,你总是可以这样做:

git log -1 -U c
Run Code Online (Sandbox Code Playgroud)

这将为您提供提交日志,然后您将完全控制所有git日志记录选项以实现自动化目的.在你的实例中,你说你想要改变集.最容易实现的方法是:

git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c
Run Code Online (Sandbox Code Playgroud)

或者,如果你使用的git版本大于1.8.X,它将是:

git log --name-status --diff-filter="ACDMRT" -1 -U c
Run Code Online (Sandbox Code Playgroud)

这将给您类似的结果:

commit {c}
Author: zedoo <zedoo@stackoverflow.com>
Date: Thu Aug 2 {time-stamp}

   {short description}
D    zedoo/foo.py
A    zedoo/bar.py
Run Code Online (Sandbox Code Playgroud)

当然,您可以过滤掉您认为合适的事件,并根据需要通过传统的git-log命令格式化返回,这些命令在此处有详细说明.

  • 如果你只是不想要diff,请使用`git show -s <commit>`. (16认同)
  • 如果您不想要差异,请执行`git show --name-only <sha1>`! (12认同)
  • `-1`做什么?它在哪里记录? (3认同)
  • @alex 请参阅“提交限制”部分下的“git help log”输出。或查看 https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History#limit_options `-&lt;number&gt;` 限制提交到输出的数量。 (2认同)

Rob*_*anu 13

git log -p c -1 做到了那一点.

  • -1做什么?它在哪里记录? (4认同)
  • @alex:"-1"将显示的条目数限制为给定的数字,它是`-n 1`或`--max-number = 1`的简写,并且[在此处记录](https:// git-scm.com/docs/git-log#git-log--ltnumbergt). (4认同)