diff show difference, which are really exists.
But merge refuses to merge them.
How this could be?
common (develop) $ git status On branch develop Your branch is up-to-date with 'origin/develop'. nothing to commit, working tree clean common (develop) $ git diff develop release/333-test --name-status D 01_alter_koz_mapping.sql D 02_fix_remarks_on_dict.sql D 010_upd_subsystem_ent_docs.sql D 00_create_user_fb.sql D 01_insurer_payments.sql D logs/20190531-115323.log common (develop) $ git merge release/333-test --no-commit Already up-to-date.
It's hard to say without having a sample repository to work with. But if I had to guess, it's because the `git diff` form you used did a straight across diff between the state of the repo at `develop` and the state of the repo at `release/333-test`, but the `git merge` you did performed a three-way merge between `develop`, `release/333-test`, and their common ancestor. The three-way merge is smarter in what it can detect and generally ends up at the right answer more often than a simple two-way diff/merge.
I hope that helps!