是否有一种方法可以查看分支中哪些文件发生了更改?


当前回答

不知道为什么,没人提吉特。参见https://stackoverflow.com/a/424142/1657819

Git-tree是首选,因为它是一个管道命令;应该是程序化的(而且可能更快)

(假设基础分支是master)

git diff-tree --no-commit-id --name-only -r master..branch-name

然而,这将显示分支中所有受影响的文件,如果你只想看到显式修改的文件,你可以使用——diff-filter:

git diff-tree --no-commit-id --name-only -r master..branch-name --diff-filter=M

也可以使用——name-status来代替——name-only来查看文件的状态(A/M/D等等)

其他回答

考虑到你在一个特性分支上,你想要检查哪些文件与master…就在这个:

git diff --name-only master

扩展@twalberg和@iconoclast,如果你因为任何原因使用cmd,你可以使用:

FOR /F "usebackq" %x IN (`"git branch | grep '*' | cut -f2 -d' '"`) DO FOR /F "usebackq" %y IN (`"git merge-base %x master"`) DO git diff --name-only %x %y
git diff --name-only master...branch-name

我们要与之进行比较。

Git什么改变似乎是一个很好的选择。

git show --stat origin/branch_name

这将为您提供在该分支下添加或修改的文件列表。