用Git進行版本控制(三)查看倉庫的歷史記錄

前言:
教程來源于Udacity的免費教程-用Git進行版本控制驼仪,這里僅是個人的筆記望浩,參考使用。

查看倉庫的歷史記錄需要如下兩個命令:

image.png

git log:用于顯示倉庫中所有 commit 的信息豌注。

默認情況下妙真,該命令會顯示倉庫中每個 commit 的:
SHA
作者
日期
消息

我強調(diào)了“默認情況下”是因為 git log 命令顯示的信息遠不止這些。

git show:顯示特定的提交信息最疆。傳遞一個SHA值杯巨,即可以顯示當(dāng)前SHA標(biāo)記的提交狀態(tài)。

git 使用命令行分頁器 less 瀏覽所有信息努酸。以下是 less 的重要快捷鍵:
要按行向下滾動服爷,使用 j 或 ↓
要按行向上滾動,使用 k 或 ↑
要按頁向下滾動获诈,使用空格鍵或 Page Down 按鈕
要按頁向下滾動仍源,使用 b 或 Page Up 按鈕
要退出,使用 q

比如在查看config時:
git config --list
當(dāng)前屏幕顯示不出來所有的內(nèi)容舔涎,可以通過輸入j,k笼踩,向上向下滾動,并輸入q退出

image.png
image.png

“:”符號表示终抽,下面還有更多的內(nèi)容戳表。

image.png

當(dāng)出現(xiàn)END時,意味著這是最后一次提交昼伴,最后一條信息了

更改git log顯示信息的方式

思考一下這些問題:
SHA - git log 將顯示每個 commit 的完整 SHA匾旭。每個 SHA 都是唯一的,因此圃郊,我不需要查看整個 SHA价涝。只需知道前 6-8 個字符即可。如果我們能只顯示 SHA 的前 5 個左右的字符持舆,是不是會節(jié)省一些空間色瘩?

作者 - git log 輸出結(jié)果顯示了每個 commit 的作者!其他倉庫可能有多個人協(xié)作逸寓,因此情況可能不同居兆,但是對于此倉庫,只有一個人提交了所有的 commit竹伸,因此所有 commit 的作者是一樣的泥栖。我們需要查看每個 commit 的作者嗎簇宽?如果我們想隱藏這一信息呢?

日期 - 默認情況下吧享,git log 將顯示每個 commit 的日期魏割。但是我們真的關(guān)心 commit 的日期嗎?知道日期有時會很重要钢颂,但是每次都知道日期并不十分重要钞它,在很多情況下都可以忽略。能否隱藏該信息殊鞭,以便節(jié)省空間遭垛?

commit 消息 - 這是 commit 消息最重要的部分…我們通常都希望看到此信息。

如何使輸出結(jié)果更簡短操灿,并節(jié)省大量空間耻卡?我們可以使用 選項。

提示:這并不是一種命令行進程牲尺,但是選項可以用來更改程序的工作方式。例如幌蚊,ls 命令將列出當(dāng)前目錄下的所有文件谤碳。ls 命令具有 -l 選項 (即 ls -l),它會運行相同的 ls 命令溢豆,但是會更改其工作方式蜒简;它會顯示 long 格式的信息(-l 表示 long)。

選項可以用來更改程序的工作方式和顯示的信息漩仙。要詳細了解命令行程序和選項搓茬,請參閱我們的 Linux 命令行基礎(chǔ) 課程。

git log --oneline
git log 命令有一個選項队他,可以用來更改倉庫信息的顯示方式卷仑。該選項為 --oneline:

$ git log --oneline
看看輸出結(jié)果有何不同!

image.png

(官方教程截圖麸折,我的還沒有提交記錄....)

這種簡潔的顯示方式有助于我們快速的查看倉庫(repo)中的提交锡凝。

此命令:
每行顯示一個 commit
顯示 commit 的 SHA 的前 7 個字符
顯示 commit 的消息

查看修改后的文件

git log --stat 簡介
The git log 命令有一個選項可以用來顯示 commit 中更改的文件以及添加或刪除的行數(shù)。該選項為 --stat(stat 是“統(tǒng)計信息 statistics”的簡稱):

$ git log --stat
運行該命令并查看顯示結(jié)果垢啼。


image.png

css/app.css | 31 ++++++ 代表一共添加31行

index.html |118 +++++++---------代表一共添加或是刪除 118行

2 file changed,91 insertions(+),58 deletions(-)
2個文件更改窜锯,91個文件插入,58個文件被刪除

此命令會:
顯示被修改的文件
顯示添加/刪除的行數(shù)
顯示一個摘要芭析,其中包含修改/刪除的總文件數(shù)和總行數(shù)

查看文件更改

我們知道 git log 將顯示倉庫中的 commit锚扎,如果添加 --stat 選項,則可以看出修改了哪些文件以及添加/刪除了多少行代碼馁启。如果能查看到底進行了哪些更改驾孔,是不是更棒?

例如,在博客項目中助币,commit a3dc99a 具有消息"center content on page"并通過添加 5 行內(nèi)容修改了 CSS 文件浪听。到底添加了哪 5 行?如何找出這 5 行眉菱?


image.png

git log -p
git log 命令具有一個可用來顯示對文件作出實際更改的選項迹栓。該選項是 --patch,可以簡寫為 -p:

$ git log -p
運行該命令并查看顯示結(jié)果俭缓。

image.png
image.png

帶注釋的 git log -p 輸出
我們通過上述圖片快速總結(jié)下 git log -p 的輸出:

?? - 正在顯示的文件
?? - 文件第一版的哈希值和第二版的哈希值
通常不重要克伊,因此可以忽略
?? - 文件的舊版本和當(dāng)前版本
?? - 添加的行所在的位置以及添加了多少行
-15,83 表示舊版本(用 - 表示)從第 15 行開始,顯示了 83 行
+15,85 表示當(dāng)前版本(用 + 表示)從第 15 行開始华坦,現(xiàn)在變成了 85 行...這 85 行顯示在下方
?? - 在 commit 中實際進行的更改
用紅色標(biāo)示并以減號 (-) 開頭的行是位于文件原始版本中愿吹,但是被 commit 刪除的行
用綠色標(biāo)示并以加號 (+) 開頭的行是 commit 新加的行

git log -p 小節(jié):
此命令會向默認輸出中添加以下信息:
顯示被修改的文件
顯示添加/刪除的行所在的位置
顯示做出的實際更改

查看特定的 commit

上一部分的最后幾個練習(xí)需要在補丁輸出中不斷向下滾動,以便找到正確的 commit 并查看其信息惜姐。如果能顯示特定 commit 的詳情犁跪,而不用關(guān)心倉庫中的所有其他內(nèi)容,是不是很棒歹袁?

實際上有兩種實現(xiàn)方式坷衍!

向 git log 提供你要查看的 commit 的 SHA

使用新的 git show 命令

它們都很簡單,我們先學(xué)習(xí) git log 方式条舔,然后再學(xué)習(xí) git show枫耳。

你已經(jīng)知道如何使用以下命令輸出信息:

git log
git log --oneline
git log --stat
git log -p

但是你是否知道,可以向所有這些命令提供 commit 的 SHA 作為最后一個參數(shù)孟抗?例如:

$ git log -p fdf5493
通過提供 SHA迁杨,git log -p 命令將從這條 commit 開始!無需滾動并逐條查閱凄硼!注意铅协,它還會顯示在所提供的 SHA 之前提交的所有 commit 信息。

新命令:git show
另一個顯示特定 commit 的命令是 git show:

$ git show
運行上述示例命令將僅顯示最近的 commit帆喇。通常警医,將 SHA 作為最后一個參數(shù)提供給命令:

$ git show fdf5493
git show 的作用是?
git show 命令將僅顯示一個 commit坯钦。因此预皇,如果你看不到任何其他 commit,不要驚慌婉刀。它只顯示一個 commit吟温。git show 命令的輸出和 git log -p 命令的完全一樣。因此默認情況下突颊,git show 會顯示:

commit
作者
日期
commit 消息
補丁信息
但是鲁豪,git show 可以與我們了解過的大部分其他選項一起使用:
--stat - 顯示更改了多少文件潘悼,以及添加/刪除的行數(shù)
-p 或 --patch - 顯示默認補丁信息,但是如果使用了 --stat爬橡,將不顯示補丁信息治唤,因此傳入 -p 以再次添加該信息
-w - 忽略空格變化

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市糙申,隨后出現(xiàn)的幾起案子宾添,更是在濱河造成了極大的恐慌,老刑警劉巖柜裸,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缕陕,死亡現(xiàn)場離奇詭異,居然都是意外死亡疙挺,警方通過查閱死者的電腦和手機扛邑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铐然,“玉大人蔬崩,你說我怎么就攤上這事〔笫睿” “怎么了舱殿?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長险掀。 經(jīng)常有香客問我,道長湾宙,這世上最難降的妖魔是什么樟氢? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮侠鳄,結(jié)果婚禮上埠啃,老公的妹妹穿的比我還像新娘。我一直安慰自己伟恶,他們只是感情好碴开,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著博秫,像睡著了一般潦牛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挡育,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天巴碗,我揣著相機與錄音,去河邊找鬼即寒。 笑死橡淆,一個胖子當(dāng)著我的面吹牛召噩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逸爵,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼具滴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了师倔?” 一聲冷哼從身側(cè)響起构韵,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎溯革,沒想到半個月后贞绳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡致稀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年冈闭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抖单。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡萎攒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矛绘,到底是詐尸還是另有隱情耍休,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布货矮,位于F島的核電站羊精,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏囚玫。R本人自食惡果不足惜喧锦,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抓督。 院中可真熱鬧燃少,春花似錦、人聲如沸铃在。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽定铜。三九已至阳液,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間揣炕,已是汗流浹背趁舀。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祝沸,地道東北人矮烹。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓越庇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親奉狈。 傳聞我的和親對象是個殘疾皇子卤唉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來仁期。這樣一來桑驱,任何一處協(xié)同...
    __silhouette閱讀 15,860評論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,905評論 0 11
  • p2p個人理財 p2p個人理財 p2p個人理財
    吉駝滴43182閱讀 169評論 0 0
  • 夜深了 燈火睡了 遠方的村莊睡了 唯有我的靈魂陪我 在我的思想里駐足跛蛋、徜徉 想起了曾經(jīng)的年少無憂 想起了幼稚的故作...
    更盞空杯閱讀 251評論 0 0
  • 掂起腳熬的,跳一跳, 手指牽下暖陽赊级,拳頭攀住春天押框, 折一段新綠, 摘去鵝黃的柳絨理逊, 刻上童年的純真橡伞, 五彩的夢想 引來...
    桅桿掛帆閱讀 159評論 0 0