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
或最近提交的第二祖先和第一祖先之間的差異。
因此,它將顯示第一個祖先提交或第二個最近提交中的更改。