Git 是否可以在“注释”中添加注释;吉特差异;?
我试图总结代码库的“旧”和“新”状态之间的区别Git 是否可以在“注释”中添加注释;吉特差异;?,git,version-control,Git,Version Control,我试图总结代码库的“旧”和“新”状态之间的区别 我可以只做“git日志”,但遗憾的是,提交消息并不总是足够的 我可以做“git diff”,但我想看看对我看到的差异的一些解释,或者至少提交散列以备将来使用 我可以对更改的文件先执行“git diff--stat”,然后执行“git annotate”,但我不知道如何要求annotate只显示特定提交后的更改 理想情况下,我希望得到“git diff”的输出,其中所有的“+”和“-”行将被注释为关于上次引入这些更改的提交的信息;理想情况下,使用
- 我可以只做“git日志”,但遗憾的是,提交消息并不总是足够的
- 我可以做“git diff”,但我想看看对我看到的差异的一些解释,或者至少提交散列以备将来使用
- 我可以对更改的文件先执行“git diff--stat”,然后执行“git annotate”,但我不知道如何要求annotate只显示特定提交后的更改
- 从某个提交中注释
请参阅“”:
git-cfe25b6d^--src/options.cpp
- 或从某个日期开始注释:
git责备-c--since=3.5周--foo
我不知道是否有一种简单的方法可以获得带注释的
git-diff
结果(比如“错误的diff”)
您可以使用git log-p的
--full diff
选项来获取提交消息+diff.您可以编写一个小脚本,它可以执行以下操作
git blame before > before
git blame after > after
diff -u before after
:)
参见
man1git
re:git\u EXTERNAL\u DIFF
我认为这在目前是不容易做到的。但是,如果您想查看包含错误信息的文件提交差异的上下文,可以执行以下操作:
$ sha1=$(git rev-parse --short HEAD); git blame $sha1 -- filename |grep -C5 --color ^$sha1
git-bull
将像往常一样对文件进行注释,grep
将为该提交中引入的每个更改显示五行上下文。似乎相关
在“作者”和“提交”等错误信息旁边显示差异
我使用了一个工具(基于python)来完成这项工作。。。即使算上删除的行做了一些类似于反向注释的事情(反向注释并不完全是必需的,因为它会显示行所在的上一个修订,它实际上不会指向删除行所在的修订,因此它实际上需要更多的分析才能弄清楚)。我希望它适合你的需要
是的,我看到了这个选项,但它仍然输出完整的文件(只是在指定的提交之前未触及的行用该确切的提交标记,而不是更早的提交),我仍然需要执行git diff--stat来知道要注释哪些文件。我试着编写一些模型,但需要考虑的情况太多了。然而,在我看来,这应该是一条路,我发现git annotate在与未提交的更改进行比较时比git Dull工作得更好。git Gurn更改了未提交更改的列对齐方式,因此每一行都是diff.YMMV。此解决方案的问题在于,Gurn中包含了行号。所以,当你区分这两种指责时,偏移行号会导致太多的错误。唯一一次这不会成为问题的是,如果只更改了更改行的位置(没有添加或删除)。我想你可以做一些其他的魔法来移除行号。。。