# Guide to Submitting an Issue Congratulations, you've finished testing and code reviewing an issue, and you're ready to submit a pull request (equivalent to a merge request in GitLab). ## 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. Or, equivalently, open a merge request from the GitLab 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/merge request In the pull request (or merge 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/GitLab parses that text, and will link the pull request with that issue. If you add the keyword "Fixes", GitHub/GitLab will close the issue when the pull request is accepted and merged.