I have two long-running branches dev
, and a far future release called future
. We create fixes for the supported release by branching from the tag that exhibits the bug, fix it, and then open pull-requests to the two branches. If there is a conflict in the 'future' branch, our developers are suppose to create a new branch, resolve the conflicts, and open another PR to future.
Unfortunately, our team is large enough that plenty of these second PRs haven't been made. I need to now figure out which exact commits caused conflicts. I can do this manually by running git blame on each conflicted file, and seeing the commits on each side of the ======
line, but that doesn't actually give me enough information, and I have to manually run git blame for every conflict and every file.
Is there an easier way? Ideally, I'd want something equivalent to:
Commit X: <coworker1> I updated something.
Commit Y: <coworker2> Something fixed.
Conflicts:
some/file/here
a/different/file.
for every single conflict.
Though anything that just gives me the list of conflicting commits would be useful enough to warrant the bounty.
You could run
git diff --diff-filter=U
while merging to see diff output for all (and only) unmerged files. It's still with file content, but it's better than manually running a command for each file.