是否可以注释"git diff"?

jkf*_*kff 24 git version-control

我试图总结代码库的"旧"和"新"状态之间的区别.

  • 我可以做"git log",但遗憾的是提交消息并不总是足够的.
  • 我可以做"git diff",但是我想看看我看到的差异的一些解释,或者至少提交哈希以便以后保存
  • 我可以为更改的文件执行"git diff --stat"然后"git annotate",但是我没有看到如何要求annotate仅显示自特定提交以来的更改.

理想情况下,我想获得"git diff"的输出,其中所有"+"和" - "行都将注释有关最后引入这些更改的提交的信息; 理想情况下,以git漂亮的格式(例如哈希,作者和日期).

怎么能实现这一目标?

squ*_*tte 7

你可以写一个小脚本来做类似的事情

git blame before > before
git blame after > after
diff -u before after
Run Code Online (Sandbox Code Playgroud)

:)

请参阅man 1 gitGIT_EXTERNAL_DIFF


Von*_*onC 5

请注意,您可以要求git blame

\n\n
    \n
  • 从某个提交进行注释\n请参阅“ Git Blame \xe2\x80\x94 之前的提交? ”:git blame -c fe25b6d^ -- src/options.cpp
  • \n
  • 或从某个日期开始注释:
    \ngit blame -c --since=3.weeks -- foo
  • \n
\n\n

注意之二:我更喜欢git blame -cgit annotate

\n\n
\n

该命令与 的唯一区别在于git-blame它们使用的输出格式略有不同,并且该命令的存在只是为了向后兼容以支持现有脚本,并为来自其他 SCM 系统的人们提供更熟悉的命令名称。

\n
\n


Zit*_*rax 5

git-diff-blame似乎相关。

在诸如作者和提交之类的责备信息旁边显示差异