GitHub launched with a simple pull request system on day one. You’ve used it to
send 200 thousand pull requests in just over two years. Now we’re taking it
to the next level with a re-imagined design and a slew of new tools that
streamline the process of discussing, reviewing, and managing changes.
As of today, pull requests are living discussions about the code you
want merged. They’re our take on code review and represent a big part of our
vision for collaborative development.
Sending a pull request is simple. Browse to the branch or commit with your
recent work and hit the
/> button. You’ll be greeted by a brand new screen:
Pull requests are now fully revision aware and take into account not only
what you would like pulled but also where you intend those changes to be
applied. They even work when sending from and to the same repository, making
pull requests just as useful in scenarios where a team is working out of a
single shared repository as they are in the fork + pull model.
Some back and forth is typically required before a pull request is accepted. The
maintainer needs clarification, or the change doesn’t conform to the project’s
coding conventions, or maybe someone was able to take a concept 80% to
completion and needs help working through the last bits.
The discussion view makes pull requests the best place to have these types
of conversations. Anywhere. Here’s why:
The discussion view presents all pull request related activity as it unfolds:
comment on the pull request itself, push follow up commits, or leave commit
notes – it’s all interleaved into the discussion view as it happens.
The discussion view is perfect for watching changes evolve over time, but it’s
equally important to know exactly what modifications would be made if the
changes were accepted right now. The Commits and Files Changed tabs are
quickly accessible and show the cumulative progress of the pull request:
Look familiar? It’s a miniature
Anyone with access can browse a repository’s pull requests by visiting the
repository’s Network ⇢ Pull Requests page.
Every pull request has a URL so you can link to them. They’re archived forever
and indexed by search engines.
Pull requests are tightly integrated into GitHub Issues. When you see an<img
/> icon in the issues list, it means there’s a pull request attached.
Don’t use Issues? No problem. You still get awesome pull requests.
The pull request dashboard gives a high level view of all pull requests across
every repository you or your organization is involved with.
Pull requests sent prior to today are not automatically imported into the new system. If you have outstanding requests, use them as an opportunity to try out revision aware pull requests today!