# 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.
- 
- 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.