# Guide to Submitting an Issue Congratulations, you've finished testing and code reviewing an issue, and you're ready to submit a pull request. ## 1. Committing your changes As your work becomes more complex, you should actually be making a number of small commits while you work. However, for a small and easy feature, it's okay just to have a single commit. [Download Sourcetree](https://www.sourcetreeapp.com/). This is optional, but Sourcetree makes it easy to audit your changes, visualize branches, and split your work into separate commits. 1. Create a git feature branch - `git checkout -b feature/<branch-name>` - For example, `git checkout -b feature/add_remove_profile_pic_button` 2. Write high quality git commit messages, see [this guide](https://cbea.ms/git-commit/). 3. Push the feature branch - `git push origin feature/<branch-name>` 4. Open a pull request on your fork from the GitHub UI. - **Important note:** change the base repository to your personal fork. When the pull request is merged, it will only modify your fork. - ![Screenshot 2025-10-02 at 11.16.46 AM](https://hackmd.io/_uploads/BksJfr23el.png) - Click on the 5 minute video below on how to use Sourcetree to create better commits. Sorry about my face in the thumbnail. {%youtube MWM_Rx3dpYk %} ## 2. Creating a pull request In the pull request, you should have: 1. A brief description of what the pull request does 2. Include two screenshots: a before and after 3. A video demo and code walkthrough. Note: GitHub has a 10MB limit on videos, so you can upload to YouTube as a public or unlisted video. - First, show the existing state. Then, demo the new feature or bug fix. - Next, walk through the code that you created, explaining it in detail. - Click the video below for an example of an appropriate video demo. - {%youtube fDaJ-NgDUtM %} 4. At the end of the pull request description, add a reference to the related issue, like "Fixes #123". GitHub parses that text, and will link the pull request with that issue. If you add the keyword "Fixes", GitHub will close the issue when the pull request is accepted and merged.