有没有一种方法可以将两个 diff 之间的所有差异保存到文本文件中?
假设我想要保存 master
分支上 A1
和 A10
之间的所有更改。
--A11-A10-A9-A8-A7-A6-A5-A4-A3-A2-A1-master
还有没有一种方法,可以在终端中获取整个差异,以便我可以复制粘贴?
当然:
git diff A10..A1 > my.diff
git diff
中的 A..B
符号是一种方便功能:diff 操作基于端点而非范围,因此在 diff 中,A..B
实际上意味着 A B
。 - Jakub Narębskigit diff {commit1} {commit2} > diff.txt
{commit1} 和 {commit2} 分别指代你想要比较的起始和结束提交的引用(引用可以是完整或部分 SHA、标签、HEAD 等等)。
git diff HEAD^ HEAD > diff.txt
来自man手册..
git format-patch -k --stdout R1..R2该命令用于将从提交R1到R2之间的补丁以邮件格式输出到标准输出。-k选项指定在生成补丁时保留关键字,--stdout选项指定将结果输出到标准输出而不是文件。
git diff <commit1> <commit2> --name-only
git diff master~10 master >changes.diff
的意思是将最近的10个提交与当前的主分支进行比较,并将差异保存到changes.diff
文件中。 - Joe