HOWTO · Git

Git 在提交中顯示更改

你可以在本教程的幫助下在 Git 中顯示提交更改。我們使用 Git diff 和許多其他 Git 命令。你還將找到有用的快捷方式和選項,以快速顯示你想要的特定更改。

本頁內容

你需要在 Git 中快速顯示提交更改以實現快速工作流程。我們使用 git diff 和 git show 以及各種選項來幫助你顯示你需要的確切提交更改。

我們使用 gitrevisions 選項切換以查詢 Git 常見用例的快捷方式,以顯示提交中的更改。

在 Git 中使用 git diff <commit_ref>^!顯示提交的更改

這是一種簡潔明瞭的方法,可以快速顯示特定提交中的更改。它使用 gitrevisions <rev>^!將所有查詢功能打包在一行短程式碼中的快捷方式。

git diff <commit_ref>^!

<commit_ref>^! 簡稱指的是提交 <commit_ref>,但不包括其所有的祖先。

本質上,這意味著它只顯示提交 <commit_ref>。git diff 命令然後僅顯示此提交所做的更改。

提交 ref 簡寫

在 Git 中使用 git diff <commit_ref>~ <commit_ref> 顯示 Commit 的變化

gitrevisions 範圍 <commit_ref>~..<commit_ref> 表示我們可以從 <commit_ref> 但不能從其祖先訪問的提交。

因此,它僅表示 <commit_ref> 而不是它的祖先。

在 git diff 中,它與 git diff <commit_ref>~ <commit_ref> 相同,並顯示 <commit_ref> 與其直接父級之間的更改。

git diff <commit_ref>~ <commit_ref>

因此,這顯示了僅在 <commit_ref> 提交中所做的更改。

tilda 方法 commit 提交

在 Git 中使用 git diff <commit_ref>^ <commit_ref> 顯示提交的更改

<commit-ref>^ 指的是提交的第一個父級。

git diff <commit_ref>^ <commit_ref>

它顯示了 <commit_ref> 與其第一個父級之間的變化。這與僅在提交 <commit_ref> 中所做的更改相同。

插入符號方法 commit 提交

在 Git 中使用檔案範圍選項僅的特定檔案/檔案型別中顯示提交更改

我們可以將檔案範圍選項傳遞給上述所有方法,以僅顯示特定檔案或檔案型別中的更改。

git diff <commit_ref>^! <file|file type>

檔案範圍選項提交更改

快速替代方法–使用 git show 命令和選項來顯示 Git 中提交的更改

我們可以使用帶有巧妙選項的 git show 命令來僅顯示提交所產生的差異。

注意
git diff 是用於顯示提交更改的專用命令,是推薦的方法。git show 旨在顯示提交的許多細節,而不僅僅是差異。

我們在這裡將其用作快捷方式。

git show --color --pretty=format:%b <commot_ref>

如果我們通過這些選項,git show 只會顯示提交更改。

專業提示:此方法也適用於工作樹中的根提交或第一次提交。git diff 因 Root Commit 而失敗,因為 Root Commit 沒有祖先。

git show 有選項的差異

git diff 因 root 提交而失敗

我們看到 git diff 因 Root Commit 失敗,但 git show 有效。

使用帶有 git show 的別名作為快速快捷方式來顯示 Git 中的提交更改

我們在上面看到,我們需要將許多選項傳遞給 git show 以僅顯示提交中的差異。

我們可以通過在 ~/.gitconfig 檔案中為該長命令設定 alias 來建立快捷方式。

nano ~/.gitconfig

[aliases]
od = show --color --pretty=format:%b

在 gitconfig 中新增別名

我們新增別名 od 或 Only Difference。然後我們可以將其用作快捷方式。

git od <commit_ref>

使用別名來顯示差異

我們可以巧妙地使用 gitrevisions 之類的 ^ 和 ~ 來編寫快速快捷方式來顯示最近的提交更改。

在 Git 中使用 git diff HEAD^ HEAD 顯示最近的提交更改

HEAD 指的是最新的提交。

git diff HEAD^ HEAD

它顯示了 HEAD 或最近的提交與其父級之間的區別。

這意味著它僅顯示其更改(最新提交)。

最近的提交快捷方式

在 Git 中顯示幾次提交中的更改

你可以使用 ~ gitrevisions 字尾跳回 HEAD 的第 n 個祖先並顯示該提交中的更改。

git diff HEAD~2 HEAD~1

它將顯示 HEAD 或最近提交的第二祖先和第一祖先之間的差異。

因此,它將顯示第一個祖先提交或第二個最近提交中的更改。

很少提交更改