Git 查找在指定提交中更改了行的文件
如何查找已从指定提交更改的文件?有一个文件在这些提交过程中发生了更改,但头部仍有这些更改。因此,如果我在一次提交中更改一行,然后在另一次提交中更改同一行,那么该行将不会包含在搜索结果中 例如,有文件Git 查找在指定提交中更改了行的文件,git,Git,如何查找已从指定提交更改的文件?有一个文件在这些提交过程中发生了更改,但头部仍有这些更改。因此,如果我在一次提交中更改一行,然后在另一次提交中更改同一行,那么该行将不会包含在搜索结果中 例如,有文件f1,f2和提交c1,c2 提交c1对f1和f2 提交c2更改f1,使c1左侧不再有更改(至少更改c1中更改的每一行)。此外,它以保留来自c1的一些更改的方式更改f2(在c1中更改的至少一行未更改) 搜索应返回文件f2,因为它包含已搜索的c1的更改。但是,搜索不应返回f1,因为那里的所有更改都被c2覆
f1
,f2
和提交c1
,c2
提交c1
对f1
和f2
提交c2
更改f1
,使c1
左侧不再有更改(至少更改c1
中更改的每一行)。此外,它以保留来自c1
的一些更改的方式更改f2
(在c1
中更改的至少一行未更改)
搜索应返回文件
f2
,因为它包含已搜索的c1
的更改。但是,搜索不应返回f1
,因为那里的所有更改都被c2
覆盖,所以您想知道两次提交之间哪些文件不同?使用git diff
比较两个树状对象:
git diff --name-only commit1 commit2
你能添加你试图使用的命令吗?我不懂queston。提供示例。没有什么不同,我想在头部找到所有包含在指定提交中更改的行的文件。因此,正如我在问题中所描述的,如果更改被另一个提交覆盖,那么它们不会包含在最终结果中。换句话说,在至少一个指定的提交中,对找到的文件使用责备应该显示至少一行更改。@mishanesterenko如果这是您想要的,那么使用
git责备和grep
获取您的答案有什么错?@mishanesterenko:您确实尝试过diff吗?我情不自禁,但我认为它符合您的要求,即»不显示被覆盖/更改回的更改«