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

DAC*_*DAC 9 git git-diff git-branch git-diff-tree

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

背景:有人删除了一些历史记录,然后推送了origin/master.一些团队成员一直在说他们遗漏了一些文件.我想我已经使用我从diff命令创建的补丁恢复了丢失的文件.在删除历史记录并将我的补丁应用到新分支之后,我分支了master.现在,我想简单地看一下新分支中存在哪些文件在主分支的HEAD中不存在.现在我只想要文件名,无论内容如何,​​并且仅用于新分支中存在且在master的HEAD中不存在的文件.

And*_*w C 18

你可以使用git diff-tree来实现你想要的

用于-r以递归方式下降子树并将--diff-filter输出限制为仅某些类型的差异(例如,删除= D)

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