What is difference between Reviewers and Assignees on GitHub?

Pushkraj picture Pushkraj · Dec 27, 2016 · Viewed 8.2k times · Source

When I create pull request, I can see two options as Reviewers and Assignees. What is difference between those? I think this is from any of last version of github.

Answer

Schwern picture Schwern · Dec 27, 2016

Reviewers and assignees are a tool for organizing who is working on what pull request and issue. They don't confer any extra permissions.

Reviewers are people you are specifically requesting to review your pull request. From the docs...

Pull request authors and repository owners and collaborators can request a pull request review from anyone with write access to the repository. The requested reviewer will receive a notification that you asked them to review the pull request.

Whereas "assignees clarify who is working on specific issues and pull requests", also from the docs.

The specific difference is up to the project, but the basic difference is that reviewers are expected to review, and the assignees are in charge of actually handling the merge (which probably also includes review).

For example, if I was submitting a pull request that changed the type system, I might assign it to the person in charge of the type system to take care of; that might be a specific person, or the project lead. Or I might assign it to whomever said they'd take care of it in the project chat. An assignee says "this person is handling the issue".

But if that pull request also has Windows specific code, I might request a review from someone on the project that knows Windows well.

Another use might be to always have two people look at a pull request, one reviewer, one assignee. In this case that would be handled by a project manager ensuring that every pull request has both an assignee and a reviewer.