如何在 Git 中檢視修訂歷史?
假設您想檢視 Git 倉庫的所有提交。`git log` 命令會返回對倉庫進行的所有提交。此命令按時間順序(最新的提交排在最前面)列出最新的提交。
`git log` 命令的語法如下:
$ git log
以下螢幕截圖顯示瞭如何使用該命令檢視當前倉庫中的所有提交。
dell@DESKTOP-N961NR5 MINGW64 /e/tut_repo (master) $ git log commit cbc01c8399faf9063eca4ba7781d08eebbe56aaa (HEAD −> master) Author : "Kiran <kiran.p@tutorialspoint . com> Date: Fri Jan 22 19:38:42 2021 +0530 file2. txt commit 8100770d7274e6bae4e252d7b3c461020b8bc5b2 Author : "Kiran <kiran.p@tutorialspoint . com> Date : Fri Jan 22 19:28:34 2021 +0530 file1. txt
該命令會顯示歷史記錄中每個提交的以下詳細資訊:
**安全雜湊演算法 (SHA) 或提交雜湊值** - 這是提交單詞後的一長串唯一字串。元資料(包括提交訊息、提交者、提交日期、作者、作者日期以及根物件(即資料夾)的雜湊值)使用 SHA-1 雜湊演算法進行雜湊處理以生成提交雜湊值。生成提交雜湊值的虛擬碼可以表示為如下所示:
SHA1 (commit message => "test commit" committer => Tom Cruise <tom.cruise@gmail.com> commit date => Sat Nov 8 10:57:57 2020 +0100 author => Tom Cruise <tom.cruise@gmail.com> author date => Sat Nov 8 10:57:57 2020 +0100 tree => 9c435a86e664be00db0d973e981425e4a3ef4f4d)
上述任何值的更改都會更改提交雜湊值,從而幫助 Git 保持完整性。
**作者** - 最初編寫程式碼的人
**日期** - 提交日期和時間
**提交訊息** - 一些文字(例如,關於提交的註釋或一些描述)
以上輸出中的 (HEAD-> master) 表示當前分支,此處為 master 分支。
要瀏覽 `git log` 命令的結果,請使用:
**j** 或 ↓ 向下滾動一行
**k** 或 ↑ 向上滾動一行
**空格鍵** 或 Page Down 按鈕向下滾動一頁
**b** 或 Page Up 按鈕向上滾動一頁
**q** 退出日誌
要檢視直到特定提交的詳細資訊,請將提交雜湊值附加到 `git log` 命令。以下示例將顯示雜湊值為 63096f31b85c0cfe26ffdce922564597fab0cf99 的提交以及在此提交之前進行的所有提交。
$ git log 63096f31b85c0cfe26ffdce922564597fab0cf99
一些可用於 `git log` 命令的常用標誌可以自定義顯示的資訊:
∉ **`--oneline`** - 如果使用此標誌,則提交歷史記錄將以以下格式顯示:
每行一個提交
SHA 的前七個字元
提交訊息
執行以下命令:
$ git log − − oneline
以下螢幕截圖顯示使用此標誌時的輸出:
cbc018 (HEAD−>master) file2.txt 8100770 file1.txt
∉ **`--patch` 或 `-p`** - 此標誌可用於瞭解每個檔案中到底發生了什麼變化。換句話說,如果使用此標誌,則會顯示每個提交的以下詳細資訊
已修改的檔案
新增或刪除的行的位置
您所做的任何特定更改
$ git log −− patch Or $ git log −p
以上命令的輸出顯示在螢幕截圖中
delI@DESKTOP-N961NR5 MINGw64 /e/tut_repo (master) $ git log −p commit c81c9abe7c4c8273aIIab7d20a3aacObe54bfOOc (HEAD −> master) Author : Kiran <kiran.p@gmail.com> Date: Sun Jan 24 19:28:41 2021 +0530 This is a short description This has to be a long description of why the commit was done. This should be multi line and should give more description diff --git a/hello.txt b/hello.txt index 4792a4a..9011447 100644 --- a/hello.txt +++ b/hello.txt @@ -2, 3, +2, 4 @@ hello , Cat hello ,dog hello again hello +hello again
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP