歷史記錄
1. 唯一ID
每一次“commit”都會有一個唯一的名稱。如下黑體字所示:
$ git log
commit 5b888402aadd3cd41b3fe8c84a8658da07893b20
Author: rocrocket <wupengchong@gmail.com>
Date: Wed Sep 24 13:16:46 2008 +0800
after pull from rocrocket
Hello!!!!!
2. 查看具體Commit信息
我們使用git show再加上述的commit名稱來顯式更詳細(xì)的commit信息:
$ git show 5b888402aadd3cd41b3fe8c84a8658da07893b20
你完全可以用一個最短的且唯一的“名稱前幾個字符”來只待某次commit:
$ git show 5b888 //只要能區(qū)別與其他名稱就足夠了
使用git show加分支名稱荧降,亦可以顯示分支信息:
$git show master
$git show experimental
使用HEAD字段可以代表當(dāng)前分支的頭(也就是最近一次commit):
$git show HEAD
每一次commit都會有”parent commit”,可以使用^表示parent:
$git show HEAD^ //查看HEAD的父母的信息
$git show HEAD^^ //查看HEAD的父母的父母的信息
$git show HEAD~4 //查看HEAD上溯4代的信息
要注意的是git-merge是會產(chǎn)生雙父母的博投,這種情況這樣處理:
$git show HEAD^1 //查看HEAD的第一個父母
$git show HEAD^2 //查看HEAD的第二個父母
3. 別名
你可以給復(fù)雜名稱起個別名:
$ git tag V3 5b888 //以后可以用V3來代替復(fù)雜的名稱(5b888…)
$ git show V3
$ git branch stable V3 //建立一個基于V3的分支
4. 檢索
可以用git grep幫助我們搜索:
$ git grep “print” V3 //在V3中搜索所有的包含print的行
$ git grep “print” //在所有的歷史記錄中搜索包含print的行
5. 定位具體記錄
$ git log V3..V7 //顯示V3之后直至V7的所有歷史記錄
$ git log V3.. //顯示所有V3之后的歷史記錄。注意<since>..<until>中任何一個被省略都將被默認(rèn)設(shè)置為HEAD盯蝴。所以如果使用..<until>的話毅哗,git log在大部分情況下會輸出空的听怕。
$ git log –since=”2 weeks ago” //顯示2周前到現(xiàn)在的所有歷史記錄。具體語法可查詢git-ref-parse命令的幫助文件虑绵。
$ git log stable..experimental //將顯示在experimental分支但不在stable分支的歷史記錄
$ git log experimental..stable //將顯示在stable分支但不在experimental分支的歷史記錄
上一篇:Git基本操作(六)