If I understand what you're trying to do, depending on what the history looks like, you might be able to do this cleanly:
git checkout developer_branch # Switch to the developer's branch
git checkout -b testing_branch # Create a new branch to test the merge
git rebase production_branch # Stash the developer's branch changes, apply production branch changes since they diverged, and re-apply the developer's branch
If that isn't clean enough to sort out, go the other direction with a merge commit.
git checkout production_branch # Switch to the production branch
git checkout -b testing_branch # Create a new branch to test the merge
git merge developer_branch # Let git figure out how to merge in the changes from the developer's branch