0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第一本Git命令教程(六) - 日志

454398 ? 來(lái)源:alpha007 ? 作者:alpha007 ? 2022-12-05 17:22 ? 次閱讀

今天是 Git 系列課程第六課,上一課我們學(xué)會(huì)了 Git 本地提交,今天痞子衡要講的是如何查看 Git 本地歷史提交。

當(dāng)我們?cè)趥}(cāng)庫(kù)里做了很多次提交之后,免不了需要回看提交記錄,看看自己之前的改動(dòng)。有三種 Git 命令可以幫我們查看記錄,痞子衡為大家一一講解:

1. 查看本地歷史提交 git log

git log 是最直接的查看歷史提交的命令,git log 可直接用也可帶參數(shù)用,常用的有下面 4 種:

1.1 標(biāo)準(zhǔn)查看 git log

// 顯示所有歷史提交標(biāo)準(zhǔn)信息,每個(gè)提交信息包括 SHA 號(hào),作者,時(shí)間以及標(biāo)題 jay@pc MINGW64 /d/my_project/gittest (master)$ git log

commit ea3925e786f7975265fd43eface72f48af4306dd (HEAD -> master)
Author: Jay Heng 
Date:   Sun Mar 11 07:46:16 2018 +0800

    Add initial platform and update test

// 此處略去其他 commit 信息
...

1.2 精簡(jiǎn)查看 git log --pretty=oneline

// 顯示所有歷史提交精簡(jiǎn)信息,每個(gè)提交信息僅占一行,信息包括 SHA 號(hào)以及標(biāo)題。
jay@pc MINGW64 /d/my_project/gittest (master)$ git log --pretty=oneline

ea3925e786f7975265fd43eface72f48af4306dd (HEAD -> master) Add initial platform and update test
fdec58a389772a14f71c391214e90f5c5c00570a Initial application and test
867df08b4e13649e30926b483279dddce32750c2 (origin/master, origin/HEAD) second commit
5fe04f86701d1d0ccb710140d440fa86daab5ffb first commit

1.3 完整查看 git log -p

// 顯示所有歷史提交完整信息,比標(biāo)準(zhǔn)查看多了提交的具體文件改動(dòng)信息。
jay@pc MINGW64 MINGW64 /d/my_project/gittest (master)$ git log -p

commit ea3925e786f7975265fd43eface72f48af4306dd (HEAD -> master)
Author: Jay Heng 
Date:   Sun Mar 11 07:46:16 2018 +0800

    Add initial platform and update test

diff --git a/app/platform.c b/app/platform.c
new file mode 100644
index 0000000..e69de29
diff --git a/app/test.c b/app/test.c
index e69de29..70dde01 100644
--- a/app/test.c
+++ b/app/test.c
@@ -0,0 +1,6 @@
+#include 
+#include 
+void test(void)
+{
+    printf("this is test/n");
+}
/ No newline at end of file

// 此處略去其他 commit 信息
...

1.4 定制查看 git log --pretty=format:"%opt1 %opt2" --graph

// 按指定格式顯示所有提交歷史信息。
jay@pc MINGW64 /d/my_project/gittest (master)$ git log --pretty=format:"%h %an %s" --graph

* ea3925e Jay Heng Add initial platform and update test
* fdec58a Jay Heng Initial application and test
* 867df08 Jay Heng second commit
* 5fe04f8 Jay first commit

其中 opt 選項(xiàng)列出如下:

%H  提交對(duì)象(commit)的完整哈希字串
%h  提交對(duì)象的簡(jiǎn)短哈希字串
%T  樹(shù)對(duì)象(tree)的完整哈希字串
%t  樹(shù)對(duì)象的簡(jiǎn)短哈希字串
%P  父對(duì)象(parent)的完整哈希字串
%p  父對(duì)象的簡(jiǎn)短哈希字串
%an 作者(author)的名字
%ae 作者的電子郵件地址
%ad 作者修訂日期(可以用 -date= 選項(xiàng)定制格式)
%ar 作者修訂日期,按多久以前的方式顯示
%cn 提交者(committer)的名字
%ce 提交者的電子郵件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式顯示
%s  提交說(shuō)明

2. 圖形化查看本地歷史 gitk

如果你覺(jué)得 git log 這種命令行方式查看與顯示提交記錄不夠直觀,Git 也提供了圖形化方式顯示提交記錄。

jay@pc MINGW64 /d/my_project/gittest (master)$ gitk

3. 查看本地歷史操作 git reflog

無(wú)論是 gitk 還是 git log 都僅能查看最終在倉(cāng)庫(kù)存在的提交信息,無(wú)法查看被刪除的提交,以及在本地具體 Git 命令操作記錄,這時(shí)候你需要使用 git reflog。

jay@pc MINGW64 /d/my_project/gittest (master)$ git reflog

ea3925e (HEAD -> master) HEAD@{0}: am: Add initial platform and update test
fdec58a HEAD@{1}: am --abort
fdec58a HEAD@{2}: am: Initial application and test
867df08 (origin/master, origin/HEAD) HEAD@{3}: reset: moving to HEAD~1
b69153f HEAD@{4}: am: Initial application and test
867df08 (origin/master, origin/HEAD) HEAD@{5}: reset: moving to HEAD~2
610feaf HEAD@{6}: commit: Add initial platform and update test
589f65b HEAD@{7}: reset: moving to HEAD
589f65b HEAD@{8}: reset: moving to HEAD
589f65b HEAD@{9}: reset: moving to 589f65b
4378dee HEAD@{10}: commit: Initial platform and driver
589f65b HEAD@{11}: reset: moving to 589f65b
1eaa025 HEAD@{12}: reset: moving to HEAD
1eaa025 HEAD@{13}: commit: Initial platform and driver
589f65b HEAD@{14}: commit (amend): Initial application and test
0a0c0fc HEAD@{15}: commit: Initial application
867df08 (origin/master, origin/HEAD) HEAD@{16}: rebase finished: returning to refs/heads/master
867df08 (origin/master, origin/HEAD) HEAD@{17}: rebase: second commit
5fe04f8 HEAD@{18}: rebase: checkout refs/remotes/origin/master
aa9db9d HEAD@{19}: commit: second commit
5fe04f8 HEAD@{20}: reset: moving to HEAD
5fe04f8 HEAD@{21}: clone: from git@github.com:JayHeng/gittest.git


審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    196

    瀏覽量

    15720
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Git常用命令總結(jié)

    在之前的文章中,我們討論了些初學(xué)者必備的 Git 命令。然而,這些命令僅僅觸及了 Git 功能的皮毛。
    發(fā)表于 07-21 10:30 ?283次閱讀

    Git常用的超級(jí)實(shí)用命令

    Git工作流。 1 Git 常用的超級(jí)實(shí)用命令 1.1 與倉(cāng)庫(kù)相關(guān)的操作 克隆代碼倉(cāng)庫(kù)到本地,開(kāi)發(fā)必用 git clone 查看本地倉(cāng)
    的頭像 發(fā)表于 10-09 17:19 ?1127次閱讀
    <b class='flag-5'>Git</b>常用的超級(jí)實(shí)用<b class='flag-5'>命令</b>

    git命令的基本使用

    git config 第一次使用git或者剛安裝的git時(shí),使用此命令設(shè)置身份Name 和 Eamail 地址。并且每次提交時(shí)會(huì)使用此信息。
    的頭像 發(fā)表于 12-11 13:53 ?873次閱讀

    [原創(chuàng)]發(fā)現(xiàn)一本《無(wú)線衰落信道》的書(shū),書(shū)號(hào)為978-7-121-07412-7

    這本書(shū)是國(guó)內(nèi)第一本關(guān)于無(wú)線衰落信道方面的圖,書(shū)號(hào)為978-7-121-07412-7,由電子工業(yè)出版社2009年1月出版,前幾天到北京西單圖書(shū)大廈買了一本,現(xiàn)向大家推薦!
    發(fā)表于 02-05 15:16

    《我的第一本C++書(shū)》完整中文版pdf(看圖學(xué)C++)

    `《我的第一本C++書(shū)》完整中文版pdf(看圖學(xué)C++)`
    發(fā)表于 08-19 15:58

    proE 官方教程第一本下載

    proE 官方教程第一本下載
    發(fā)表于 01-14 16:47 ?0次下載
    proE 官方教程<b class='flag-5'>第一本</b>下載

    [我的第一本C.書(shū)].陳良喬.掃描版

    電子發(fā)燒友網(wǎng)站提供《[我的第一本C.書(shū)].陳良喬.掃描版.txt》資料免費(fèi)下載
    發(fā)表于 06-13 09:01 ?0次下載

    我國(guó)出版了第一本人工智能教材,AI從高中學(xué)起

    計(jì)算機(jī)要從娃娃抓起,AI可以從高中學(xué)起。近日我國(guó)為高中生出版了第一本人工智能(AI)教材——《人工智能基礎(chǔ)(高中版)》,寄希望于年輕的代來(lái)縮小在全球人工智能人才競(jìng)爭(zhēng)中的差距。
    的頭像 發(fā)表于 07-18 18:47 ?4119次閱讀

    第一本Git命令教程(7.1)-清理之緩存

    今天是 Git 系列課程第七課,上課我們學(xué)會(huì)了查看 Git 本地歷史提交,今天痞子衡要講的是 Git 倉(cāng)庫(kù)的清理操作,共 4 個(gè)
    的頭像 發(fā)表于 12-05 17:39 ?795次閱讀

    Git 命令+原理 程序員必備的基礎(chǔ)

    掌握Git命令是每位程序員必備的基礎(chǔ),之前直是用smartGit工具,直到看到大佬們都是在用Git命令操作的,回想
    的頭像 發(fā)表于 11-14 10:01 ?1718次閱讀
    <b class='flag-5'>Git</b> <b class='flag-5'>命令</b>+原理 程序員必備的基礎(chǔ)

    Git高效命令的使用技巧

    今天浩道跟大家分享關(guān)于Git高效命令的硬核干貨,掌握這些技巧,使你事半功倍!
    的頭像 發(fā)表于 02-28 16:41 ?894次閱讀

    git rebase與相關(guān)git merge命令比較

    。 #概念 ????首先要理解的是git rebase和git merge解決了同樣的問(wèn)題。這兩個(gè)命令都旨在將更改從個(gè)分支集成到另個(gè)分支
    的頭像 發(fā)表于 05-26 16:22 ?834次閱讀
    <b class='flag-5'>git</b> rebase與相關(guān)<b class='flag-5'>git</b> merge<b class='flag-5'>命令</b>比較

    git命令和參數(shù)

    。 給小伙伴們推薦個(gè)學(xué)習(xí)git命令即好玩又有趣的神器網(wǎng)站 Learning Git Branching ,它讓學(xué)習(xí)git不再那么枯燥乏味,話不多說(shuō)直接上動(dòng)圖。 ? 在這里你的每
    的頭像 發(fā)表于 05-31 14:22 ?529次閱讀

    Git命令的綜合手冊(cè)怎么找

    若你使用 Git 時(shí)需要獲取幫助,有三種等價(jià)的方法可以找到 Git 命令的綜合手冊(cè)(manpage): $ git help $ git -
    的頭像 發(fā)表于 07-22 11:02 ?620次閱讀

    Git中最常用的命令介紹

    git add命令用于將修改的文件添加到下次提交的暫存區(qū)。你可以指定要添加的文件git add命令用于將修改的文件添加到下
    發(fā)表于 10-26 10:27 ?212次閱讀
    <b class='flag-5'>Git</b>中最常用的<b class='flag-5'>命令</b>介紹