PR
Creating a Pull Request - Step by Step
Method 1: Right After Pushing (Easiest)
When you push a new branch, GitHub shows a yellow banner:
After you run:
git push -u origin feature/your-feature-name
- Go to your repository: https://github.com/LarryAnglin/HelpDesk
- Look for the yellow banner at the top that says: feature/your-feature-name had recent pushes less than a minute ago [Compare & pull request]
- Click the green βCompare & pull requestβ button
Method 2: From the Pull Requests Tab
- Go to your repository: https://github.com/LarryAnglin/HelpDesk
- Click the βPull requestsβ tab (near the top, next to βCodeβ)
- Click the green βNew pull requestβ button
- Select your branches: - Base: develop (where you want to merge TO) - Compare: feature/your-feature-name (your branch)
- Click βCreate pull requestβ
Method 3: From Your Branch Page
- Go to: https://github.com/LarryAnglin/HelpDesk
- Click the branch dropdown (shows βmainβ by default)
- Select your branch feature/your-feature-name
- Click βContributeβ β βOpen pull requestβ
π Filling Out the PR Form
Once you click to create a PR, youβll see a form:
- PR Title
Add user export functionality
- Be descriptive but concise
- Use present tense
- No period at the end
- PR Description
The template will auto-fill. Hereβs how to complete it:
Description
Added CSV export feature to allow admins to download user data with date filtering
Type of Change
- π Bug fix
- β¨ New feature β Check the appropriate box
- π₯ Breaking change
- π Documentation update
Testing
- Tested locally
- Tested on preview URL β Will test after PR creates
- Tested on staging
Screenshots
β Drag & drop images here
- Right Sidebar Options
- Reviewers: Leave empty (CODEOWNERS auto-assigns)
- Assignees: Assign to yourself
- Labels: Add if you want (feature, bug, etc.)
- Projects: Skip
- Milestone: Skip
- Target Branch (IMPORTANT!)
Make sure:
- Base: develop (NOT main!)
- Compare: feature/your-feature-name
π― Visual Guide
Hereβs what the PR creation page looks like:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Comparing changes β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β base: develop β compare: feature/add-user-export β β β β β Able to merge (no conflicts) β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Add user export functionality [PR Title] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β ## Description β β Added CSV export feature to allow adminsβ¦ β β β β ## Type of Change β β - [x] β¨ New feature β β β β [Your PR description hereβ¦] β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[Create pull request] β Click this green button
π After Creating the PR
- Wait 2-3 minutes for the preview URL
- Check the PR page for a comment like: π₯ Preview deployed to: https://your-project-idβpr-42.web.app
- Test your feature on the preview URL
- Share the preview URL with others for feedback
π‘ Pro Tips
Adding Screenshots
- Drag and drop images directly into the description
- Or paste from clipboard (Cmd+V on Mac)
- Use screenshots to show UI changes
Linking Issues
Fixes #42 β Automatically closes issue 42 when PR merges Related to #43 β Just links without closing
Draft PRs
- Click dropdown arrow next to βCreate pull requestβ
- Select βCreate draft pull requestβ
- Good for work-in-progress
Quick PR from Command Line
Using GitHub CLI (if installed)
gh pr create βbase develop βtitle βAdd user exportβ
π¬ Complete Example
1. Push your branch
git push -u origin feature/add-export
2. Terminal shows:
remote: Create a pull request for βfeature/add-exportβ on GitHub by visiting: remote: https://github.com/LarryAnglin/HelpDesk/pull/new/feature/add-export
3. Click that link OR go to GitHub and click the yellow banner
4. Fill out:
Title: Add user export functionality for admin panel Base: develop Compare: feature/add-export Description: [Fill template]
5. Click βCreate pull requestβ
6. Wait for preview URL in comments
7. Test and share!
Thatβs it! The key is making sure you select develop as the base branch, not main. This ensures your code goes to staging first before production.