进行“简单”合并(没有冲突)后,git show
通常只显示类似的内容
commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master)
Merge: fc17405 ee2de56
Author: Tilman Vogel <email@email>
Date: Tue Feb 22 00:27:17 2011 +0100
Merge branch 'testing' into master
这是因为,对于合并,git show
使用组合 diff 格式,该格式忽略与任一父版本一致的文件。
有没有办法强制 git 仍然显示组合差异模式中的所有差异?
Doing git show -m
将显示差异(分别使用新版本和所有父版本之间的成对差异),但我更愿意在相应的列中用 +/- 标记差异,就像在组合模式中一样。
查看提交消息:
commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master)
Merge: fc17405 ee2de56
Author: Tilman Vogel <email@email>
Date: Tue Feb 22 00:27:17 2011 +0100
Merge branch 'testing' into master
注意这一行:
Merge: fc17405 ee2de56
获取这两个提交 ID 并反转它们。所以为了获得你想要的差异,你会这样做:
git diff ee2de56...fc17405
仅显示已更改文件的名称:
git diff --name-only ee2de56..fc17405
要提取它们,您可以将其添加到您的 gitconfig 中:
exportfiles = !sh -c 'git diff $0 --name-only | "while read files; do mkdir -p \"$1/$(dirname $files)\"; cp -vf $files $1/$(dirname $files); done"'
然后通过执行以下操作来使用它:
git exportfiles ee2de56..fc17405 /c/temp/myproject
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)