话说Git的命令集还是相当大的,为了避免忘记,就在这里开辟个回忆录吧
其他人可能看不懂,哈哈
git rev-parse 部分
$ git rev-parse --symbolic --branches //查看分支
$ git rev-parse --symbolic --tags //查看里程碑
$ git rev-parse --symbolic --glob=refs/* //查看所有引用
$ git rev-parse HEAD //查看head对应的sha1哈希值
$ git rev-parse HEAD master //多个哈希值
$ git rev-parse A refs/tags/A //同样是显示A里程碑
$ git rev-parse A^{} A^0 A^{commit} //里程碑A的commit对象
$ git rev-parse A~3 A^^^ //记号~<n> 就相当于连续n个符号^
$ git rev-parse A^{tree} A: //里程碑A对应的目录树
$ git rev-parse A^{tree}:src/Makefile A:src/Makefile //表示树里面的文件
$ git rev-parse :gitg.png HEAD:gitg.png //暂存区里的文件
$ git rev-parse :/"commit A" //在提交日志中查找字符串显示commit 对象
$ git rev-parse HEAD@{0} master@{0} //reflog相关语法
git rev-list 部分
$ git rev-list --online A //A的版本提交历史
$ git rev-list --oneline D F //多个版本历史并集
$ git rev-list --oneline ^G D //排除^版本的提交历史
$ git rev-list --oneline G..D //相当于 ^G D
$ git rev-list --oneline B...C //三点,如B..C排除BC共同部分
$ git rev-list --oneline B^@ //提交历史,自身除外
$ git rev-list --oneline B^! //提交本身不包括其历史提交
git log 部分
$ git log --oneline F^! D
$ git log --graph --oneline //分支图显示
$ git log -3 --pretty=oneline //最近3条
$ git log -p -1 //-p显示日志同时显示改动
$ git log --stat --oneline I..C //显示每次提交的变更概要
$ git log --pretty=raw -1
$ git log --pretty=fuller -1
$ git log --pretty=oneline -1
$ git show D --stat //只查看和分析某一提交
$ git cat-file -p D^0 //同上, D^0 获得里程碑D对应的提交
git diff
$ git diff <commit1> <commit2> -- <paths>
$ git diff <path1> <path2>
$ git diff --word-diff //逐字比较,我没成功
git blame 文件追溯
$ git blame README //逐行显示文件提交版本,提交人,提交时间
$ git blame -L 6,+5 README //只查看某几行,使用 -L n,m