Refined GitHub
Browser extension that simplifies the GitHub interface and adds useful features
We use GitHub a lot and notice many annoyances we'd like to fix. So here be dragons.
Our hope is that GitHub will notice and implement some of these much needed improvements. So if you like any of these improvements, please email GitHub support about doing it.
GitHub Enterprise is also supported. More info in the options.
- Latest changes (Updated regularly. Subscribe!)
- Product Hunt submission (2017-07-08)
- What's new lately (2017-06-23)
- Original announcement (2016-03-31)
Install
The Chrome version also works in Opera (using this) and Edge.
Highlights 🔥
Show whitespace characters. | Adds one-click merge conflict fixers |
---|---|
![]() |
![]() |
Adds reaction avatars showing who reacted to a comment | Adds the option to wait for checks when merging a PR |
---|---|
![]() |
![]() |
Linkifies issue/PR references and URLs in code | Adds button to revert all the changes to a file in a PR. |
---|---|
![]() |
![]() |
Repositories
- 🔥 Adds a build/CI status icon next to the repo’s name.
- Adds a download count next to release assets.
- Removes the file hover effect in the repo file browser.
- Hides the placeholder text in repos without a description.
- Hides the
Projects
tab from repositories and profiles when it’s empty.- New projects can still be created via the
Create new…
menu.
- New projects can still be created via the
- Hides forks and watchers counters.
- Changes the default sort order of milestones
Closest due date
. - Adds a
Releases
tab and a keyboard shortcut: g r. - Adds a keyboard shortcut to create a new release while on the Releases page: c.
- Adds links to
Commits
,Branches
,Dependencies
, andCompare
in a newMore
dropdown. - Adds a keyboard shortcut to star/unstar the current repo: g s.
- Adds a tags dropdown/search on tag/release pages.
- 🔥 Adds a link to an automatic changelog for each tag/release.
- Adds link to the latest version tag on directory listings and files.
- 🔥 Adds link the default branch on directory listings and files.
- Adds link to swap branches in the branch compare view.
- Hides the
Packages
tab in repositories if it’s empty. - Adds a shortcut to your forks next to the
Fork
button on the current repo. - Adds the age of the repository to the statistics bar.
- In your forked repos, shows number of your open PRs to the original repo.
- Adds a link to access the past runs of a GitHub Action workflow when seeing the workflow configuration file.
- Points the “Forked from user/repository” link to current folder or file in the upstream repository.
File management
- Adds a button to a download button entire folders. Uses download-directory.github.io
- Adds a button to toggle the repo file list.
- Adds a button to edit files from the repo file list.
- Ensures that the “Edit readme” button always appears (even when you have to make a fork) and works (GitHub’s link does’t work on git tags).
- Enables the the File Finder keyboard shortcut (t) on Issues and Pull Request pages as well.
- Lets you start typing your search immediately after invoking the File Finder (t), instead of having you wait for it to load first.
- Preserves the search terms when navigating back and forth between the File Finder and the files.
- Clone a branch from the branches list.
- Shows the associated pull requests on branches for forked repository’s.
Code
- Enhances the y hotkey to also copy the permalink.
- Adds a button to view the source of Markdown files.
- Adds a button to copy a file’s content.
- Linkifies symbolic links files.
- Shows PRs that touch the current file.
- Reduces tabs’ size to 4 spaces instead of 8.
- Adds a keyboard shortcut to deselect the current line: esc.
- Adds a link to preview HTML files.
- Lets you see how others are using the current Action in the Marketplace.
Writing comments
- 🔥 Enables tab and shift+tab for indentation in comment fields.
- Adds a button to submit a single PR comment if you mistakenly started a new review.
- Adds a button to insert collapsible content (via
<details>
). - 🔥 Auto-resizes comment fields to fit their content and no longer show scroll bars.
- Moves the
Edit comment
button out of the...
dropdown. - Adds a shortcut to edit your last comment: ↑. (Only works in the following comment field, if it’s empty.)
- Wraps selected text when pressing one of Markdown symbols instead of replacing it:
[
`
'
"
*
~
_
- Reduces the upload bar to a small button.
- Hides unnecessary comment field tooltips and toolbar items (each one has a keyboard shortcut.)
- Use a monospace font for all textareas.
Reading comments
- Embeds linked gists.
- Adds links to browse the repository and linked files at the time of each comment.
- Adds the real name of users by their usernames.
- Shortens URLs and repo URLs to readable references like "_user/repo/.file@
d71718d
". - 🔥 Previews hidden comments inline.
- 🔥 Highlights the most useful comment in issues.
- Hides reaction comments ("+1", "👍", …) (except the maintainers’) but they can still be shown.
- Limits the height of tall code blocks and quotes.
- Simplifies the UI to hide comments.
- Makes the "comment" icon in issue lists link to the latest comment of the issue.
- On long discussions where GitHub hides comments under a "Load more...", alt-clicking it will load up to 200 comments at once instead of 60.
Discussions
- 🔥 Adds a button to open multiple discussions at once in your repos.
- Separates issues from PRs in the global search.
- Makes the discussion sidebar sticky.
- Makes the discussion list’s filters toolbar sticky.
- Highlights discussions opened by you or the current repo’s collaborators.
- Aligns labels in lists to the left.
- 🔥 Changes the default sort order of discussions to
Recently updated
. - Widens the discussion search box.
- Adds
Everything commented by you
andEverything you subscribed to
filters in the search box dropdown. - Adds filters for discussions in your repos and commented on by you in the global discussion search.
- 🔥 Hides empty sections (or just their "empty" label) in the discussion sidebar.
- Hides
Projects
andMilestones
filters in discussion lists if they are empty. - Allows the ↑ and ↓ keys to cycle "popover lists" (labels, milestones, etc).
- Adds a shortcut to toggle all similar items (minimized comments, deferred diffs, etc) at once: alt click on each button or checkbox.
- Adds a button to
@mention
a user in discussions. - Lets you toggle between is:open/is:closed/is:merged filters in searches.
- Adds a "Bugs" tab to repos, if there are any open issues with the "bug" label.
- Adds the updated time to pinned issues.
- Changes the layout of pinned issues from side-by-side to a standard list.
Viewing pull requests
- Adds link to non-PR commit when visiting a PR commit.
- Adds Checks and Draft PR dropdown filters in PR lists.
- Shows color-coded review counts in PR lists.
- Shows head and base branches in PR lists if they’re significant.
- Hides the
Checks
tab if it’s empty, unless you’re the owner. - Hides inactive deployments.
- Adds duplicate commit navigation buttons at the bottom of the
Commits
tab page. - Preserves the "ignore whitespace" setting when navigating with Next/Previous in PR review mode.
- Bypasses the "Checks" interstitial when clicking the "Details" links on a PR Checks added by third-party services like Travis.
- Opens the Checks "details" link in a new tab.
- Adds comment indicators when comments are hidden in PR review.
- Shows which PRs have conflicts in PR lists.
- Adds diff stats on PR commits.
- Adds a line-through to the deleted branches.
- Mark/unmark multiple files as “Viewed” in the PR Files tab. Click on the first checkbox you want to mark/unmark and then
shift
-click another one; all the files between the two checkboxes will be marked/unmarked as “Viewed”. - Shows the first Git tag a merged PR was included in.
- Jumps to first non-viewed file in a pull request when clicking on the progress bar.
Editing pull requests
- 🔥 Uses the PR’s title as the default squash commit title and updates the PR’s title to the match the commit title, if changed.
- Adds button to update a PR from the base branch to ensure it builds correctly before merging the PR itself. GitHub only adds it when the base branch is "protected".
- Simplifies the PR review form: Approve or reject reviews faster with one-click review-type buttons.
- Warns you when creating a pull request from the default branch, as it’s an anti-pattern.
- Warns you when unchecking
Allow edits from maintainers
, as it’s maintainer-hostile. - Adds keyboard shortcuts to cycle through PR tabs: g ← and g →, or g 1, g 2, g 3 and g 4.
- Automatically deletes the branch right after merging a PR, if possible.
- Lets you create draft pull requests in one click.
- Clears the PR merge commit message of clutter, leaving only deduplicated co-authors.
- Adds a review button to the PR sidebar, autofocuses the review textarea and adds a keyboard shortcut to open the review popup: v.
Commits
- Adds a keyboard shortcut to ignore the whitespace in diffs: d w.
- Adds links to
.patch
and.diff
files in commits. - Adds link to view the raw version of files in PRs and commits.
- Adds one-click buttons to change diff style and to ignore the whitespace.
- 🔥 Enhances files’ commit lists navigation to follow file renames.
- Adds links to the file itself in a file’s commit list.
- Widens the
Expand diff
button to be clickable across the screen. - Hides diff signs (since diffs are color coded already.)
- Suggest limiting commit titles to 72 characters.
- Expands the entire file when you alt click on any "Expand code" button in diffs.
- Displays the corresponding tags next to commits.
- Marks merge commits in commit lists.
- When exploring blames,
Alt
-clicking the “Reblame” buttons will extract the associated PR’s commits first, instead of treating the commit a single change.
Profiles
- Shows the followers you have in common.
- Tells you whether the user follows you.
- Adds a link to the user’s public gists.
- Marks private organizations on your own profile.
- Adds a keyboard shortcut to visit your own profile: g m.
- Adds a link to the user’s most starred repositories.
- Hides forks and archived repos from profiles (but they can still be shown.)
- Linkifies the user location in their hovercard and profile page.
- Shows the user local time in their hovercard (based on their last commit).
- Hides the
Packages
tab on user profiles if it’s empty. - Adds a link to the issues and pulls on the user profile repository tab and global search.
Newsfeed
- 🔥 Condenses the events to take up less space and uncollapses "User starred X repos" groups.
- Hides "starred" events for your own repos.
- Hides other inutile events (commits, forks, new followers).
- Automagically expands the newsfeed when you scroll down.
Global
- 🔥 Adds possible related pages and alternatives on 404 pages.
- Adds a keyboard shortcut to open selection in new tab when navigating via j and k: shift o.
- Automatically closes dropdown menus when they’re no longer visible.
- Moves the "Marketplace" link from the black header bar to the profile dropdown.
- Renders text in
`backticks`
in issue titles and commit titles. - Adds a
Trending
link to the global navbar and a keyboard shortcut: g t. - Adds shortcuts to navigate through pages with pagination: ← and →.
- Adds button to open all your unread notifications at once.
- Shows all of Refined GitHub’s new keyboard shortcuts in the help modal. (? hotkey)
- Stops redirecting to notification inbox from notification bar actions while holding Alt.
Fixes for GitHub shortcomings
- Hides the milestone sorter UI if you don’t have permission to use it.
- Linkifies branch references in "Quick PR" pages.
- Removes the autocomplete on search fields.
- Removes tooltips from self-explanatory buttons.
- 🔥 Moves the "Recently-pushed branches" widget to the header to avoid content jumps. Also adds it to more pages in the repo.
- Adds a menu item to embed a gist via
<iframe>
. - Preserves the current line on “View blame prior to this change” links.
- Points the "View file" on compare view pages to the branch instead of the commit, so the Edit/Delete buttons will be enabled on the "View file" page, if needed.
- Makes labels clickable in the dashboard’s "Recent activity" box.
- Retries downloading images that failed downloading due to GitHub limited proxying.
- Makes some dropdowns 1-click instead of unnecessarily 2-click.
- Linkifies the header of each notification group (when grouped by repository).
- Suggests fixing your PR Commit links before commenting. GitHub has a bug that causes these link to appear as plain commit links, without association to the PR.
Previously part of Refined GitHub
GitHub implemented 22 features that used to be part of Refined GitHub 🎉
See list
- Blog post: Blame parent commits in blame view.
- Blog post: Collapse/expand files in a PR diff.
- Blog post: Preview a issue/PR reference’s title in comments.
- Blog post: The dashboard organization switcher is moved to the right column.
- Blog post: Quickly edit a repository’s README from the repository root.
- Blog post: Access
Your repositories
from the profile dropdown. - Blog post: Permalinked comments are highlighted.
- Blog post: Leave a single comment in pull request diffs instead of starting a review by pressing shift enter.
- Blog post: Quickly delete a file from pull requests.
- Blog post: Pressing
Cancel
on an inline comment opens a prompt to prevent accidental cancelling. - Blog post: The
+
and-
signs in diffs are made unselectable for easier copy-pasting. - Blog post: Toggle all outdated PR comments or PR/commit files with alt click.
- Blog post: Avoid opening duplicate issues thanks to the list of possibly-related issues.
- Blog post: Copy the path of a PR file.
- Blog post: Search a user profile page when visiting it.
- Blog post: Access the
Labels
Milestones
navigation from individual milestone pages. - Blog post: The comments of who opened an issue/PR are marked with
Original Poster
label. - Blog post: Quickly delete a forked repo after its pull request has been merged.
- Blog post: Exclude PR/issue filters from their list with alt click.
- Blog post: File headers are always visible.
- Blog post: Adds link to an issue’s closing commit or pull request. 1 2
- Blog post: Adds
co-authored-by
to the commit when merging PRs with multiple committers. - Blog post: Makes it easier to tell apart commits added to the current PR versus plain commits that reference the PR.
Customization
Most features can be disabled if they are JavaScript-based (Experimental) and you can override our CSS with your own in the extension options.
We're happy to receive suggestions and contributions, but be aware this is a highly opinionated project. There's a high bar for adding features. Users will always disagree with something. That being said, we're open to discussing things.
Contribute
Read the contribution guide and join the contributors!
Related
- Awesome browser extensions for GitHub - Awesome list
- OctoLinker - Navigate across files and packages
- Notifier for GitHub - Shows your notification unread count
- Mottie's Userscripts - Countless features to improve GitHub granularly
- Contributors on GitHub - Shows stats about contributors
- Hide Files on GitHub - Hides dotfiles from the file browser
- GitHub Issue Link Status - Colorize issue and PR links to see their status (open, closed, merged)
- OctoEdit - Markdown syntax highlighting in comments
- Notifications Preview for GitHub - See your notifications on hover on all pages
- Show All GitHub Issues - Shows both Issues and Pull Requests in the Issues tab
- Refined Twitter - Improves Twitter
- Friendly GitHub - Make GitHub more social
- Sourcegraph - Code search and navigation tool
- PR Monitor - Notifies you about incoming and outgoing PRs