追踪某个文件的修改历史
git log --pretty=oneline filename 查看该文件的提交历史
git show commit_id 显示具体某次提交的修改
git show commit_id filename 查看某个提交,某个文件的变化
二分法排查某次commit引进了bug
git bisect
二分法查找bug是那次commit引进的
1.git bisect start 开始使用bisect查找
2.git bisect bad HEAD 设置HEAD为已知坏版本
3.git bisect good 89d6e8347c94a26f6f60cc8eeff287ba51c6144c(k提交对应的ID) 在提交历史中找出最近的可用版本
bisect会将你的git提交reset到HEAD和k的中间版本f;
此时,检查该版本是否正常;
若正常,则输入git bisect good,bisect会继续将git提交reset到f和HEAD的中间版本。
若不正常,则输入git bisect bad,bisect则会将git提交reset到f和k的中间版本。
4、git bisect reset
结束bisect操作,回到bisect start前的状态
查看某个文件每次提交的修改地方
git log -p filename
查看每次提交的diff,也就是修改了什么
这样就可以这个文件那次提交中出的问题
查看文件中每一行最后的提交者
git blame filename
查看文件中每一行的最后一次提交者
其他
git log --name-only (列表)
git whatchanged --stat (列表+修改统计)
每次修改的文件列表
git reflog
查看从文件clone开始的所有操作记录日志;
git log可以显示所有提交过的版本信息,不包括已经被删除的 commit 记录和 reset 的操作
git reflog是显示所有的操作记录,包括提交,回退的操作。一般用来找出操作记录中的版本号,进行回退。