Why Linus Torvalds Calls GitHub Merges ‘Useless Garbage’ – Lessons for Developers
Linus Torvalds publicly condemned a GitHub merge in a Linux kernel pull request, explaining his long‑standing opposition to GitHub’s pull‑request workflow, the importance of proper PR signing, and the conditions under which such contributions may be accepted.
Linus Torvalds, the creator of Linux, recently criticized a GitHub merge, calling it "completely useless garbage" that should never be used for merging code.
The comment was made on the Linux development mailing list in response to a pull request submitted by Paragon Software, which had added an NTFS driver to the kernel. The PR, submitted in September 2021, contained a GitHub merge commit that Linus found unacceptable.
"I noticed a GitHub merge commit, which is something I especially do not want to see – GitHub creates completely useless garbage merges, and you should never merge anything via GitHub," Linus wrote.
Linus has previously explained his dislike for GitHub pull requests, preferring Git’s built‑in pull‑request generation module and criticizing GitHub’s replacement for discarding essential information such as the contributor’s email address.
"Git has a good pull‑request generation module, but GitHub decided to replace it with their inferior version, discarding all related information, such as the email address of the contributor. Therefore, I consider GitHub useless for this purpose. It can be used for hosting, but pull requests and online editing are pure garbage," he said.
The Paragon driver aimed to improve NTFS interoperability, but its 27,000‑line code base was deemed too large for review. Linus guided the contributors, emphasizing that PRs should be submitted as proper pull requests rather than simple commits to the mailing list.
In an ideal workflow, PRs should be PGP‑signed, allowing Linus to trace the submitter through a trust chain. Merge branch 'torvalds:master' into master Ultimately, Linus accepted the Paragon submission, stating that future contributions must comply with the established rules.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java High-Performance Architecture
Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
