b/w 'git diff HEAD' 和 'git diff HEAD HEAD~1' 有什么区别?
What is the difference b/w 'git diff HEAD' and 'git diff HEAD HEAD~1'?
我是 git 的新手,谁能帮帮我。
- 我实际上被困在什么是“git diff HEAD”。
- “git diff HEAD”和“git diff HEAD HEAD~1”有什么区别
git diff 可以进行两次修改并向您展示它们之间的差异。
HEAD
是指向当前分支最后一次提交的 ref。
git diff HEAD
将向您显示上次提交与尚未提交的内容之间的更改(与 git diff
(无修订)相反,后者显示尚未提交的更改 staged(使用 git add
,因此它们可以在之后提交))。
HEAD~1
是一个 special syntax,允许您 select HEAD
的第一个父级。提交通常只有一个父项(先前的提交),除非它们合并两个分支,在这种情况下,它们有一个父项用于先前的提交,另一个用于合并的分支。
请注意,HEAD
有一个 shorthand,因为它经常被使用。您可以使用相同的行为将其替换为 @
。 git diff @
与git diff HEAD
等同
对于 HEAD
语法
HEAD
是分支中的最新提交
HEAD~N
是 HEAD
的第 n 个旧提交
git diff HEAD
将向您显示当前内容与最近提交内容之间的差异
如果您已经暂存内容(git add
ed,但尚未 commit
ed)并且您还对未暂存的差异感兴趣 git diff
(这将仅向您显示两者之间的差异),这将特别有用暂存提交状态和在它之上的变化)
git diff HEAD~1..HEAD
将显示当前分支上最新的和之前的之间的差异,忽略任何当前差异
这对于比较先前提交的范围很有用(以及像 git reset --soft HEAD~N
这样的语法,这将使分支的 HEAD
到 ~N
丢弃中间提交,但让它们暂存,就像你使用过一样git add
)
git diff HEAD..HEAD~1
向您显示 HEAD~1..HEAD
的反向
这通常是一个错误,只是一个混乱的根源
$ git diff HEAD
最新提交与工作树之间的差异;
$ git diff HEAD HEAD~1
= $ git show
最新提交与最新提交之前的差异。
(顺便说一句,
$ git diff
工作树和索引之间的差异;
$ git diff --cached
最新提交与索引之间的差异。)
我是 git 的新手,谁能帮帮我。
- 我实际上被困在什么是“git diff HEAD”。
- “git diff HEAD”和“git diff HEAD HEAD~1”有什么区别
git diff 可以进行两次修改并向您展示它们之间的差异。
HEAD
是指向当前分支最后一次提交的 ref。
git diff HEAD
将向您显示上次提交与尚未提交的内容之间的更改(与 git diff
(无修订)相反,后者显示尚未提交的更改 staged(使用 git add
,因此它们可以在之后提交))。
HEAD~1
是一个 special syntax,允许您 select HEAD
的第一个父级。提交通常只有一个父项(先前的提交),除非它们合并两个分支,在这种情况下,它们有一个父项用于先前的提交,另一个用于合并的分支。
请注意,HEAD
有一个 shorthand,因为它经常被使用。您可以使用相同的行为将其替换为 @
。 git diff @
与git diff HEAD
等同
对于 HEAD
语法
HEAD
是分支中的最新提交HEAD~N
是HEAD
的第 n 个旧提交
git diff HEAD
将向您显示当前内容与最近提交内容之间的差异
如果您已经暂存内容(git add
ed,但尚未 commit
ed)并且您还对未暂存的差异感兴趣 git diff
(这将仅向您显示两者之间的差异),这将特别有用暂存提交状态和在它之上的变化)
git diff HEAD~1..HEAD
将显示当前分支上最新的和之前的之间的差异,忽略任何当前差异
这对于比较先前提交的范围很有用(以及像 git reset --soft HEAD~N
这样的语法,这将使分支的 HEAD
到 ~N
丢弃中间提交,但让它们暂存,就像你使用过一样git add
)
git diff HEAD..HEAD~1
向您显示 HEAD~1..HEAD
的反向
这通常是一个错误,只是一个混乱的根源
$ git diff HEAD
最新提交与工作树之间的差异;
$ git diff HEAD HEAD~1
= $ git show
最新提交与最新提交之前的差异。
(顺便说一句,
$ git diff
工作树和索引之间的差异;
$ git diff --cached
最新提交与索引之间的差异。)