git - 只获取特定分支的已更改文件

时间:2017-03-10 08:08:27

标签: git

对于我们的业务,我们真的想知道哪些文件在特定分支中被更改(添加,删除,修改)。让我们说,我有主分支和许多功能分支,我总是合并到主分支。现在,我想知道,过去哪些文件已针对特定分支进行了更改。对于cource,我可以在第一次和最后一次提交之间进行差异,但我不想研究日志(这真的很痛苦)并且首先搜索提交做差异,因为我经常做这个活动。我想要一些脚本,我在其中放置分支的名称,结果将是所有已更改文件的列表,来自特定分支上的所有提交。我只有一个想法,如何制作这个脚本 - grep提交消息,哪里必须是分支的名称..还有其他方法吗?

  A1---A2---A3          BRANCH A
 /            \
M1---M2---M3---M4       BRANCH MASTER
      \            
       B1---B2---B3     BRANCH B

1 个答案:

答案 0 :(得分:0)

对于未合并的分支,您可以使用diff --stat和三重点

git diff --stat ...other_branch

仅显示other_branch中的更改并获得类似

的输出
setup.py        |   1 +
proj/foo.py     |  37 +++++-
proj/bar.py     |  51 +++++---
proj/bin.py     |  71 +++++++++--
proj/baz.py     | 337 +++++++++++++++++++++++++--------------------------
5 files changed, 363 insertions(+), 238 deletions(-)

三重点仅显示other_branch中不在当前分支中的更改。 other_branch中。

对于已合并的分支,您可以使用

git diff --stat $(git merge-base HEAD other_branch)^..other_branch