[英]Git, get unchaged files between commits
我已经搜索了一下,但是找不到我想要的东西。 希望这里的人可以提供帮助。
基本上,我想知道是否有一种使用git的方法来检查自特定提交以来未更改的任何文件。
这样做的原因是,我正在处理一个已检入git的项目,该项目在初始提交中不必要地添加了一堆文件,这使得现在很难区分实际(使用的)文件和哪些文件。是偶然添加的。
我希望我可以使用git获得所有这些文件,然后删除。
谢谢。
我认为这应该工作:
git ls-tree -r --name-only <commit-ish 1> | grep -vFxf <(git log <commit-ish 1>..<commit-ish 2> -c --name-only --no-renames --pretty=format: | sort -u)
git log <commit-ish 1>..<commit-ish 2> -c --name-only --no-renames --pretty=format: | sort -u
git log <commit-ish 1>..<commit-ish 2> -c --name-only --no-renames --pretty=format: | sort -u
列出在1
到2
之间被触摸的所有文件,即使文件已更改然后又变回其原始状态。
git ls-tree -r --name-only <commit-ish 1>
中列出的所有文件1
。
grep -vFxf
从第二个命令的查找中排除第一个命令的所有查找,导致文件从未被触摸过。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.