A Chrome browser extension that simplifies resolving merge conflicts on GitHub with one-click buttons and automatic clipboard copying.
- π One-click conflict resolution - Accept current, incoming, or both changes instantly
- π Automatic clipboard copying - Resolved content is automatically copied, just paste!
- π·οΈ Branch name display - Shows which branch is "current" and which is "incoming"
- π Safe operation - Works with GitHub's existing editor without breaking functionality
- π― Smart detection - Automatically detects conflict markers and branch information
- π‘ Copy-paste workflow - Simple and reliable approach that always works
- Navigate to a GitHub merge conflict page
- Click one of the resolution buttons:
Accept All Current- Keep changes from your current branchAccept All Incoming- Accept changes from the incoming branchKeep Both- Preserve both sets of changes
- Content is automatically copied to clipboard
- Paste (Ctrl+V) into GitHub's editor
- Click GitHub's "Mark as resolved" button
- Download the latest release from the Releases page
- Extract the ZIP file to a folder on your computer
- Skip to "Load Extension" section below
git clone https://github.com/anasyd/GithubAssist.git
cd GithubAssist- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
- Select the folder containing the extension files
- The extension will appear in your extensions list
- Look for the extension icon in your Chrome toolbar
- Visit a GitHub repository with merge conflicts to test
- The helper buttons should appear on conflict resolution pages
- Open a pull request with merge conflicts on GitHub
- Click "Resolve conflicts" to enter GitHub's conflict editor
- Extension buttons appear above the editor showing branch names
- Choose your resolution strategy:
- Accept All Current (
your-branch-name) - Keep your changes - Accept All Incoming (
main) - Accept incoming changes - Keep Both - Preserve both versions
- Accept All Current (
- Content is auto-copied - just paste with
Ctrl+V - Complete the resolution by clicking GitHub's "Mark as resolved"
| Button | Action | When to Use |
|---|---|---|
Accept All Current |
Keep your branch's changes | Your code is correct/preferred |
Accept All Incoming |
Accept the other branch's changes | Their code is better/newer |
Keep Both |
Preserve both sets of changes | Both changes are needed |
Show Resolved |
Display the resolved content | Review before pasting |
- Green button: Accept current branch changes
- Blue button: Accept incoming branch changes
- Purple button: Keep both sets of changes
- Yellow button: Show resolved content for review
- Branch names appear below buttons for clarity
- Check you're on a conflict page: Extension only activates on GitHub conflict resolution pages
- Refresh the page: Try reloading the GitHub page
- Check extension is enabled: Visit
chrome://extensions/and ensure it's enabled - Look for errors: Open Developer Tools (F12) and check for error messages
- Manual copy option: Use the "Show Resolved" button if auto-copy fails
- Browser permissions: Some browsers may block clipboard access
- Alternative method: Select and copy the resolved content manually
- Use copy-paste workflow: The extension doesn't directly modify GitHub's editor
- Follow the steps: Copy resolved content β Select all in editor β Paste
- GitHub's "Mark as resolved": Always click this after pasting
- Generic names displayed: Shows "current" and "incoming" if detection fails
- Still functional: Extension works even without specific branch names
- Check conflict markers: Branch names are extracted from
<<<<<<< branch-name
- β Chrome (Recommended)
- β Microsoft Edge (Chromium-based)
- β Brave Browser
- β Other Chromium browsers
- β Firefox (Not compatible - uses different extension format)
- β Safari (Not compatible)
- π No data collection - Extension operates entirely locally
- π« No external requests - Only reads from GitHub pages you visit
- π Local processing - All conflict resolution happens in your browser
- π No permissions abuse - Only requests necessary
activeTabaccess - π Open source - All code is available for review
GithubAssist/
βββ icons
β βββ icon.png
β βββ icon.svg
β βββ icon128.png
β βββ icon16.png
β βββ icon48.png
βββ images
β βββ icon.png
β βββ Screenshot.png
βββ content.js
βββ LICENSE
βββ manifest.json
βββ popup.html
βββ popup.js
βββ README.md
βββ styles.css
activeTab: Required to read conflict content from GitHub pagesstorage: Used for extension settings (currently minimal usage)
- Read-only approach: Extension only reads conflict content, never writes
- Safe operation: Doesn't interfere with GitHub's CodeMirror editor
- Copy-paste workflow: Reliable method that works with GitHub's security policies
Found a bug or want to contribute?
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and test thoroughly
- Submit a pull request with a clear description
- Clone the repository
git clone https://github.com/anasyd/GithubAssist.git
cd GithubAssist- Make changes to the source files
- Test locally by loading the unpacked extension
- Verify functionality on actual GitHub conflict pages
This project is open source and available under the MIT License.
- π Report bugs: Open an issue
- π‘ Feature requests: Start a discussion
- π§ Contact: Create an issue for support questions
- Initial release
- One-click conflict resolution
- Automatic clipboard copying
- Branch name detection
- Safe copy-paste workflow
Made with β€οΈ for developers who hate tedious merge conflicts
Note: This extension is not affiliated with GitHub. It's a community tool to improve the conflict resolution experience.