The interface of github is simple to reset password.
First to enter the email.

Second is to check email for the link to reset the password.

Simple to the basic required.
The email contents are:
Subject: [GitHub] Please reset your password
From: GitHub
Body:
We heard that you lost your GitHub password. Sorry about that!
But don’t worry! You can use the following link within the next day to reset your password:
https://github.com/password_reset/asdfasdf-136-length-key-asdfasdfas
If you don’t use this link within 24 hours, it will expire. To get a new password reset link, visit https://github.com/password_reset
Thanks,
Your friends at GitHub
Simple and nice. When you build a Web App where you need to provide reset password, just use this as template.
The link will take you to this UI

On entering the new password it will show this UI.

You get a mail for security reasons, as follows.
Subject: [GitHub] Your password has changed
From: GitHub
Body:
Hello ,
We wanted to let you know that your GitHub password was changed.
If you did not perform this action, you can recover access by entering into the form at https://github.com/password_reset.
To see this and other security events for your account, visit https://github.com/settings/security.
If you run into problems, please contact support by visiting https://github.com/contact or replying to this email.
Please do not reply to this email with your password. We will never ask for your password, and we strongly discourage you from sharing it with anyone.
That's the whole reset password UI flow.