0

我知道

git ls-tree -r --name-only --full-tree <sha1>

会给我一个给定提交中包含的所有文件的列表,而像

git show --stat --name-only --pretty=format:'' <sha1>

只会列出由 commit 更改的文件<sha1>

如何获取给定git提交未更改的文件列表?我确信可以使用上面的命令加上一些sortand来完成diff,但如果可能的话,我宁愿这样做git

4

1 回答 1

2

不确定您是否可以纯粹使用git,至少不能仅使用瓷器命令。我会这样做:

git ls-tree -r --name-only --full-tree <sha1> | sort > /tmp/allfiles
git show --stat --name-only --pretty=format:'' <sha1> | sort > /tmp/changedfiles
comm -23 /tmp/allfiles /tmp/changedfiles
于 2012-08-24T14:49:13.103 回答