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
或最近提交的第二祖先和第一祖先之间的差异。
因此,它将显示第一个祖先提交或第二个最近提交中的更改。