如何让git diff只显示两次提交之间的差异,而不包括中间的其他提交?
当前回答
让我来介绍一个简单的GUI/傻瓜证明方法,你可以在这些情况下采取。
克隆另一个副本到新文件夹,例如myRepo_temp 签出您想要与原始回购(myRepo_original)中的提交进行比较的提交/分支。 现在你可以使用不同的工具,(如超越比较等)与这两个文件夹(myRepo_temp和myRepo_original)
这是有用的,例如,如果你想部分逆转一些更改,因为你可以复制东西从一个文件夹到另一个文件夹。
其他回答
那么这个呢:
git diff abcdef 123456 | less
如果你想要在运行中比较许多不同的差异,将它管道到less是很方便的。
让我来介绍一个简单的GUI/傻瓜证明方法,你可以在这些情况下采取。
克隆另一个副本到新文件夹,例如myRepo_temp 签出您想要与原始回购(myRepo_original)中的提交进行比较的提交/分支。 现在你可以使用不同的工具,(如超越比较等)与这两个文件夹(myRepo_temp和myRepo_original)
这是有用的,例如,如果你想部分逆转一些更改,因为你可以复制东西从一个文件夹到另一个文件夹。
假设你有这个
A
|
B A0
| |
C D
\ /
|
...
你要确保A等于A0。
这样就可以了:
$ git diff B A > B-A.diff
$ git diff D A0 > D-A0.diff
$ diff B-A.diff D-A0.diff
我的别名设置在~/。ZSHRC文件git diff:
alias gdf='git diff HEAD{'^',}' # diff between your recent tow commits
谢谢 @Jinmiao罗
git差别头~2头
在最近的第二次提交和当前之间完成更改。
HEAD方便
为了比较12345和abcdef作为补丁的两个git提交,可以使用diff命令作为
diff <(git show 123456) <(git show abcdef)
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别