查询某一行代码或者某一段代码的演变历史:
git log -L <start>,<end>:<file>
git log -L 11553,11566:/Users/Simoon/Desktop/项目/src/aaa.js
你说的 “单行代码的修改历史”,在 Git 里是可以查的,主要用到 git blame
和 git log -L
。
方法一:git blame
用来查看某一行最后是谁改的。
例子:
表示查看 src/main.js
文件第 25 行是谁最后修改的,以及对应的 commit。
输出里会显示:
-
提交 hash
-
作者
-
时间
-
修改的那一行内容
但是
git blame
只能看到最后一次修改该行的 commit,如果想要追踪它之前的修改,还需要结合git log
。
方法二:git log -L
(推荐)
git log
有个 -L
选项,可以跟踪一行或一段代码的演变历史。
例子:
这会列出 src/main.js
文件第 25 行的完整历史修改过程,从最早到最新。每次改动都会显示 diff。
方法三:结合搜索
如果你知道这行代码的大概内容,可以直接用 git log -S
或 -G
查找:
-
-S
:查找某个字符串被添加/删除的 commit。 -
-G
:支持正则搜索。
✅ 总结:
-
快速看最后是谁改的:
git blame -L 25,25 file.js
-
查看完整演变历史:
git log -L 25,25:file.js
-
按内容搜索变更:
git log -S "xxx" -- file.js