HTTP/2 301
date: Mon, 13 Oct 2025 20:02:58 GMT
content-type: text/html; charset=utf-8
content-length: 0
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
location: https://github.blog/2011-04-25-the-merge-button/
cache-control: no-cache
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
set-cookie: _gh_sess=%2BogFFTU72%2B8xVxmOEtXPDWZwa6uat%2BVMTtvEONCa7rQmgbgOY112uf2x0XHfuepFvOqLkoi9Pbw5C7w9aszOybhC%2BVRG11DAvAKXWRFl7EyIZykWiRE0UHEfYf6mc2xvNBRuLXQ1Ro8zExA3PEXXFD82KTx5%2Fdgix%2B3uIuhATjSsoehj4KNJVk%2FbZYgALsdcpjalZOoZPimM5Y1vn4RUmuh9aQ50Y4xmLrO5JoisUbBIT4tqYZ7Iym0AKyubZhRWXY%2B7pbscZ3e58qajpmrmaA%3D%3D--Ez4usVtTLt7fXUOj--ga9pCNUE7%2F1iLQt5wV1ifg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1502949141.1760385778; Path=/; Domain=github.com; Expires=Tue, 13 Oct 2026 20:02:58 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 13 Oct 2026 20:02:58 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: A034:378BED:3BD4F:502AF:68ED5AF2
HTTP/2 301
server: nginx
date: Mon, 13 Oct 2025 20:02:59 GMT
content-type: text/html; charset=utf-8
location: https://github.blog/engineering/the-merge-button/
x-redirect-by: Yoast SEO Premium
x-cache: MISS
x-rq: bom1 177 249 80
strict-transport-security: max-age=31536000;includeSubdomains;preload
HTTP/2 301
server: nginx
date: Mon, 13 Oct 2025 20:02:59 GMT
content-type: text/html; charset=UTF-8
location: https://github.blog/news-insights/the-library/the-merge-button/
x-hacker: If you're reading this, you should visit https://join.a8c.com/viphacker and apply to join the fun, mention this header.
x-powered-by: WordPress VIP
host-header: a9130478a60e5f9135f765b23f26593b
x-frame-options: SAMEORIGIN
x-redirect-by: WordPress
x-rq: bom1 177 249 80
x-cache: MISS
strict-transport-security: max-age=31536000;includeSubdomains;preload
HTTP/2 200
server: nginx
date: Mon, 13 Oct 2025 20:03:00 GMT
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
x-hacker: If you're reading this, you should visit https://join.a8c.com/viphacker and apply to join the fun, mention this header.
x-powered-by: WordPress VIP
host-header: a9130478a60e5f9135f765b23f26593b
x-frame-options: SAMEORIGIN
link: ; rel="https://api.w.org/"
link: ; rel="alternate"; title="JSON"; type="application/json"
link: ; rel=shortlink
content-encoding: gzip
cache-control: max-age=300, must-revalidate
accept-ranges: bytes
x-cache: MISS
x-rq: bom1 177 249 80
strict-transport-security: max-age=31536000;includeSubdomains;preload
The Merge Button - The GitHub Blog
The Merge Button
With Pull Requests 2.0, it became easier than ever to review code and accept patches. We use pull requests extensively at GitHub, and I love receiving pull requests on my…
April 25, 2011
|
Updated December 16, 2019
With Pull Requests 2.0 , it became easier than ever to review code and accept patches. We use pull requests extensively at GitHub, and I love receiving pull requests on my open source projects.
Take, for example, this pull request for a documentation fix in God :
Traditionally, merging this pull request required multiple steps via the git command line. Not anymore!
All pull requests now include a Merge Button :
If a merge conflict is detected, the button is replaced with manual merge instructions:
A single click on the button automatically merges and closes the pull request:
The merge always generates a merge commit (git merge --no-ff
), which contains the number, source and title of the pull request:
Try it out on some of your pull requests . Have fun merging!
Related posts
In September, we experienced three incidents that resulted in degraded performance across GitHub services.
AI is changing how software gets built. Explore the skills you need to keep up and stand out.
Why the U.S. Supreme Court case Cox v. Sony matters for developers and sharing updates to our Transparency Center and Acceptable Use Policies.
Explore more from GitHub
Docs
Everything you need to master GitHub, all in one place.
GitHub
Build what’s next on GitHub, the place for anyone from anywhere to build anything.
Customer stories
Meet the companies and engineering teams that build with GitHub.
GitHub Universe 2025
Last chance: Save $700 on your IRL pass to Universe and join us on Oct. 28-29 in San Francisco.
We do newsletters, too Discover tips, technical guides, and best practices in our biweekly newsletter just for devs.