Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git中,如何列出分支A中存在的、分支B中不存在的所有文件_Git_Git Branch_Git Diff_Git Diff Tree - Fatal编程技术网

在Git中,如何列出分支A中存在的、分支B中不存在的所有文件

在Git中,如何列出分支A中存在的、分支B中不存在的所有文件,git,git-branch,git-diff,git-diff-tree,Git,Git Branch,Git Diff,Git Diff Tree,我是否可以使用Git命令列出一个分支中存在的、另一个分支中不存在的所有文件的名称 背景:有人删除了一些历史记录,然后按下了origin/master。一些团队成员说他们丢失了一些文件。我想我已经用diff命令创建的补丁恢复了丢失的文件。我在历史记录被删除后分支了master,并将补丁应用于新分支。现在,我只想看看新分支中存在哪些文件,而主分支的负责人不存在这些文件。现在,我只需要文件名,不管内容如何,并且只需要新分支中存在的文件,而不是主文件的头上存在的文件。您可以使用来实现您想要的 使用-r递

我是否可以使用Git命令列出一个分支中存在的、另一个分支中不存在的所有文件的名称

背景:有人删除了一些历史记录,然后按下了origin/master。一些团队成员说他们丢失了一些文件。我想我已经用diff命令创建的补丁恢复了丢失的文件。我在历史记录被删除后分支了master,并将补丁应用于新分支。现在,我只想看看新分支中存在哪些文件,而主分支的负责人不存在这些文件。现在,我只需要文件名,不管内容如何,并且只需要新分支中存在的文件,而不是主文件的头上存在的文件。

您可以使用来实现您想要的

使用
-r
递归地向下遍历子树,并使用
-diff-filter
将输出限制为仅特定类型的差异(例如,deletions=D)


git-diff-tree-r--diff-filter=D branchA branchB

尝试
git-diff-tree
,然后为details@AndrewC还添加了一个-r标志以在子目录中递归
git diff tree-r--diff filter=D branchA branchB
Yes!下面的内容似乎正是我想要的。git diff tree-r--diff filter=D HEAD..jacobster已连字符,如果您将其作为答案提交,我将接受答案。非常感谢。