如何仅查看两个Git提交中涉及文件的差异?
查看两个提交间仅涉及文件的差异
要仅对比fd678b2和2cbd583这两个提交中原cherry-pick涉及的文件的差异,无需逐个指定文件路径,可使用以下命令:
git diff fd678b2 2cbd583 -- $(git show --name-only --pretty="format:" fd678b2)
命令拆解:
git show --name-only --pretty="format:" fd678b2:提取原提交fd678b2修改过的所有文件路径,--pretty="format:"用于过滤掉提交信息,只保留纯文件名列表git diff fd678b2 2cbd583 -- [文件列表]:限定diff仅对比这两个提交在上述文件上的变更,避免展示分支中其他无关文件的差异
如果需要频繁执行这类操作,可给Git设置全局别名简化流程:
git config --global alias.diff-cherrypick '!f() { git diff $1 $2 -- $(git show --name-only --pretty="format:" $1); }; f'
后续直接通过别名即可快速对比:
git diff-cherrypick fd678b2 2cbd583
内容的提问来源于stack exchange,提问作者this.mehhh
相关产品推荐
相关产品推荐

