Answers:
要查看特定COMMIT
哈希的差异 :
git diff COMMIT~ COMMIT
会告诉你那COMMIT
祖先和祖先之间的区别COMMIT
。请参阅git diff的手册页,以获取有关命令的详细信息以及有关符号及其朋友的gitrevisions~
。
或者,git show COMMIT
做一些非常相似的事情。(提交的数据,包括其diff-但不包括合并提交。)请参见git show manpage。
^
需要在Thomson和Bourne shell(|
那里的同义词)rc
及其衍生物(插入符号运算符)中zsh
启用报价,并在启用not
HEAD^
如果一个提交有多个父级(即合并提交),则意味着第一个父级。
git diff COMMIT~ COMMIT
为我工作,注意波浪号而不是插入符号。我在Windows 10上运行的Git版本2.6.1.windows.1
如“与父代进行git commit的区别的简写? ”中所述,您还可以使用git diff
:
git diff COMMIT^!
要么
git diff-tree -p COMMIT
使用git show时,您将需要(为了仅关注diff)执行以下操作:
git show --color --pretty=format:%b $COMMIT
该COMMIT
参数是 commit-ish:
甲commit对象或一个对象可以被递归地解除引用到一个提交对象。以下是所有提交-ishes:提交对象,标签对象是指向一个commit对象,标签对象指向一个标签对象指向一个commit对象,等等。
请参阅gitrevision“指定版本”以引用提交。
另请参见“ 树状结构在Git中是什么意思? ”。
您也可以尝试以下简单方法:
git show <COMMIT>
首先使用来获取提交ID,
git log #to list all
要么
git log -p -1 #last one commit id
复制提交ID。
现在,我们使用两种方法来列出特定提交的更改,
方法1:
git diff commit_id^! #commit id something like this 1c6a6000asad012
方法2:
git show commit_id
For example: git show 1c6a600a
^!
意思?
在git-diff(1)的手册页中:
git diff [options] [<commit>] [--] [<path>…]
git diff [options] --cached [<commit>] [--] [<path>…]
git diff [options] <commit> <commit> [--] [<path>…]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>
在中间使用第三个:
git diff [options] <parent-commit> <commit>
同样在同一手册页的底部,在“ 示例”部分中:
$ git diff HEAD^ HEAD <3>
比较最后一次提交和最后一次提交之前的版本。
诚然,它的措词有些混乱,它不会像
将最近的提交与之前的提交进行比较。
git diff HEAD HEAD^
。
以下似乎可以完成工作;我用它来显示合并带来了什么。
git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>
git log
吗?(因为stackoverflow.com/a/18585297/6309)
你可以用 git diff HEAD HEAD^1
用来查看与父提交的差异。
如果只想查看文件列表,请添加--stat
选项。
diff
命令的方式是:从提交HEAD
到提交,我需要在文件中进行哪些更改HEAD^1
?
git difftool COMMIT^ <commit hash>
如果已经配置了difftool,则也可以。
请参阅此处如何配置difftool 或手册页此处
此外,您还可以git diff-tree --no-commit-id --name-only -r <commit hash>
用来查看在给定提交哈希中更改/提交的文件
通过提交查看作者和时间git show COMMIT
。这将导致如下所示:
commit 13414df70354678b1b9304ebe4b6d204810f867e
Merge: a2a2894 3a1ba8f
Author: You <you@you.com>
Date: Fri Jul 24 17:46:42 2015 -0700
Merge remote-tracking branch 'origin/your-feature'
如果要查看已更改的文件,请使用上面“合并”行中的值运行以下文件 git diff --stat a2a2894 3a1ba8f
。
如果要查看实际差异,请运行 git --stat a2a2894 3a1ba8f
git --stat a2a2894 3a1ba8f
”。我想你的意思git diff a2a2894 3a1ba8f
,否则unknown option: --stat
。
要检查完整的更改:
git diff <commit_Id_1> <commit_Id_2>
仅检查更改/添加/删除的文件:
git diff <commit_Id_1> <commit_Id_2> --name-only
注意:要检查diff而没有提交,则不需要放置提交ID。
该命令将为您提供Git父提交哈希:
git log -n 2 <commit-hash>
之后 git diff-tool <commit-hash> <parent-commit-hash>
例:
bonnie@bonnie ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3
commit 7f65b9a9d3820525766fcba285b3c678e889fe3b
Author: souparno <souparno.majumder@gmail.com>
Date: Mon Jul 25 13:17:07 2016 +0530
CSS changed to maintain the aspect ratio of the channel logos and to fit them properly.
commit c3a61f17e14e2b80cf64b172a45f1b4826ee291f
Author: souparno <souparno.majumder@gmail.com>
Date: Mon Jul 25 11:28:09 2016 +0530
The ratio of the height to width of the channel images are maintained.
在这之后
git difftool 7f65b9a9d3820525766fcba285b3c678e889fe3b c3a61f17e14e2b80cf64b172a45f1b4826ee291f