I need to approve pull requests for a development we are doing. It's a distributed team scattered over the planet but it's a private (company) project.
I've had two times now that I needed to resolve a merge. The docs at bitbucket, where we are hosting the repo, say:
To resolve these kinds of conflicts you pull the changes to your local repository and resolve them there.
But what is the correct procedure?
- Pull the developer's pull request locally, fix the issue, and then push it back to
origin
- Check out the destination (
development
) locally, merge there and do not care about the branch originating the PR?
The first fixes the problem completely, as our remote developer needs to update his own branch afterwards - but feels a bit "intrusive", as I am changing his own personal feature branch.
The latter feels right, but doesn't completely fix the issue. If the remote developer is not diligent enough, he may still drag the conflict into the next PR.
The third of course is to reject the PR altogether, which is the cleanest probably, and have the remote dev fix the issue. He may not always be able to do so though, that's why I am in charge of approving...Also this is slow, and may require a day of delay due to time zone differences.