对于我们的业务,我们真的想知道哪些文件在特定分支中被更改(添加,删除,修改)。让我们说,我有主分支和许多功能分支,我总是合并到主分支。现在,我想知道,过去哪些文件已针对特定分支进行了更改。对于cource,我可以在第一次和最后一次提交之间进行差异,但我不想研究日志(这真的很痛苦)并且首先搜索提交做差异,因为我经常做这个活动。我想要一些脚本,我在其中放置分支的名称,结果将是所有已更改文件的列表,来自特定分支上的所有提交。我只有一个想法,如何制作这个脚本 - grep提交消息,哪里必须是分支的名称..还有其他方法吗?
A1---A2---A3 BRANCH A
/ \
M1---M2---M3---M4 BRANCH MASTER
\
B1---B2---B3 BRANCH B
答案 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
中不在当前分支中的更改。 1}}中的更改不会显示在当前分支中但不会显示在other_branch
中。
对于已合并的分支,您可以使用
git diff --stat $(git merge-base HEAD other_branch)^..other_branch