话说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