【发布时间】:2015-02-02 19:06:05
【问题描述】:
有没有我可以使用的 Git 命令来列出存在于一个分支中但不存在于另一个分支中的所有文件的名称?
背景:有人删除了一些历史记录,然后推送了 origin/master。一些团队成员一直在说他们丢失了一些文件。我想我已经使用从 diff 命令创建的补丁恢复了丢失的文件。我在删除历史记录后分支 master 并将我的补丁应用到新分支。现在我想简单地看看新分支中存在哪些文件在主分支的 HEAD 中不存在。现在我只想要文件名,不管内容如何,并且只需要新分支中存在且不存在于 master 的 HEAD 中的文件。
【问题讨论】:
-
尝试
git diff-tree,然后指定--diff-filter=D、git help diff-tree了解详情 -
@AndrewC 还添加一个 -r 标志以通过子目录进行递归。
git diff-tree -r --diff-filter=D branchA branchB -
是的!以下似乎完全符合我的要求。 git diff-tree -r --diff-filter=D HEAD..master jacobhyphenated,如果您将其作为答案提交,我将接受答案。非常感谢。
标签: git git-branch git-diff git-diff-tree