Git:在分支之间仅显示额外/删除的文件
假设我有两个分支Git:在分支之间仅显示额外/删除的文件,git,branch,Git,Branch,假设我有两个分支branch1和branch2。我想查看一个分支中存在的、另一个分支中不存在的那些文件的列表 我知道我能做到: git diff --stat --color branch1 branch2 查看所有文件及其差异。此命令与我想要的非常接近,因为它将branch1中不存在的文件显示为: folder/file1.py | 66 ++++++++ folder/file2.py | 32 ----- 而branch2中不
branch1
和branch2
。我想查看一个分支中存在的、另一个分支中不存在的那些文件的列表
我知道我能做到:
git diff --stat --color branch1 branch2
查看所有文件及其差异。此命令与我想要的非常接近,因为它将branch1
中不存在的文件显示为:
folder/file1.py | 66 ++++++++
folder/file2.py | 32 -----
而branch2
中不存在的则为:
folder/file1.py | 66 ++++++++
folder/file2.py | 32 -----
但是这个命令还显示了在分支之间更改的所有其他文件的差异,我想过滤这些差异。当许多文件在分支之间发生更改时,这是不方便的
如何在分支之间仅查看那些额外/删除的文件?基本上,我需要看到一个列表,该列表允许我快速地说“这些文件存在于
branch1
中,并从branch2
或viceversa中删除”。您可能可以使用git diff--raw
,但我不确定重命名后这些文件是否有效:
git diff branch1 branch2 --raw | cut -f 5- -d ' ' | grep "^[AD]"
它的作用如下:
基本上发出一个机器可解析版本的git diff branch1 branch2--raw
。例如:git status
第5列有一个状态标志,表示文件是被修改(M)、删除(D)还是添加(a)。还有其他的。以下是中的:: git diff 139a34^ 139a34 --raw :100644 100644 313c68b... 9852990... M plugin/togglecursor.vim
片段:git help diff
表示去掉前4列数据。因此,我们只保留状态标志及其后的路径cut-f5--d'
- 最后,
说只保留添加或删除文件的行grep“^[AD]”