Git 在提交中顯示更改
- 在 Git 中使用
git diff <commit_ref>^!顯示提交的更改 - 在 Git 中使用
git diff <commit_ref>~ <commit_ref>顯示 Commit 的變化 - 在 Git 中使用
git diff <commit_ref>^ <commit_ref>顯示提交的更改 - 在 Git 中使用檔案範圍選項僅的特定檔案/檔案型別中顯示提交更改
- 快速替代方法–使用
git show命令和選項來顯示 Git 中提交的更改 - 使用帶有
git show的別名作為快速快捷方式來顯示 Git 中的提交更改 - 在 Git 中使用
git diff HEAD^ HEAD顯示最近的提交更改 - 在 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 命令然後僅顯示此提交所做的更改。

在 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> 提交中所做的更改。

在 Git 中使用 git diff <commit_ref>^ <commit_ref> 顯示提交的更改
<commit-ref>^ 指的是提交的第一個父級。
git diff <commit_ref>^ <commit_ref> 它顯示了 <commit_ref> 與其第一個父級之間的變化。這與僅在提交 <commit_ref> 中所做的更改相同。

在 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 diff 因 Root Commit 失敗,但 git show 有效。
使用帶有 git show 的別名作為快速快捷方式來顯示 Git 中的提交更改
我們在上面看到,我們需要將許多選項傳遞給 git show 以僅顯示提交中的差異。
我們可以通過在 ~/.gitconfig 檔案中為該長命令設定 alias 來建立快捷方式。
nano ~/.gitconfig [aliases] od = show --color --pretty=format:%b 
我們新增別名 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 或最近提交的第二祖先和第一祖先之間的差異。
因此,它將顯示第一個祖先提交或第二個最近提交中的更改。
