【发布时间】:2018-01-17 03:14:33
【问题描述】:
我试图弄清楚文件中的哪一行被引入以及在哪些提交中被更改。
我可以查看这些行的历史记录(文件 example.txt 中的第 10 行):
git log -L 10,11:example.txt
但是,对于每个日志条目,它都包含一个“差异”或“补丁”(我还不确定其中的区别),就像我运行一样:
git log -p
这使得输出更难阅读 - 我只想查看提交消息列表及其 id 以了解更改了我感兴趣的行的提交。
例如,通常 git 日志可以通过使用 --pretty 格式来简化,使我们能够阅读干净的提交消息列表以找到我们感兴趣的信息。例如,我使用 --oneline经常选择:
git log --oneline
然而,这显示了完整的日志 - 我们想要过滤它以仅显示更改感兴趣行的提交。像下面这样的东西会很棒,但漂亮的单行格式似乎不能与 -L 标志结合使用:
git log --oneline -L 10,11:example.txt
我尝试了git log documentation 中选项和参数的各种组合,但没有找到任何可行的方法。
是否有其他人面临此问题或对可行的方法有任何想法?
感谢您阅读本文
【问题讨论】:
-
给出基于命令行的答案远远超出了我的薪酬等级,但我可以告诉你,大多数具有 Git 集成的 IDE(例如 IntelliJ、Eclipse)可以用信息注释源文件中的每一行关于谁最后触及给定线。实际上,我宁愿以图形方式而不是从命令行获取这些信息。
-
从那以后找到this post 一个答案,建议正常使用 git log -L 命令并使用 egrep 提取提交。还不知道怎么...
标签: git