惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

Butler's Log

Agentic Version Control Benchmarks Grit: rewriting Git in Rust with agents Git Merge 2026 Agent-safe Git with GitButler We’ve raised $17M to build what comes after Git Announcing the GitButler CLI for Linux The Great CSS Expansion A couple of git nits Simplifying Git by Using GitButler Introducing the GitButler CLI GitButler 0.19 - "Commander Keen" But Head: Crafting a Custom Font MCP vs RAG: Two Very Different Ways to Gain Context Getting Started With GitButler Agents Using the GitButler MCP Server to Build Better AI-Driven Git Workflows Using GitButler With Multiple GitHub Accounts Advent of Code! Upcoming GitButler Events Use GitButler for your Gerrit workflow Integrating GitButler and GitHub Enterprise Butler Flow: shipping code faster (but less like Alfred, more like CI on steroids) - Part 3 Butler Flow: shipping code faster (but less like Alfred, more like CI on steroids) - Part 2 Butler Flow: shipping code faster (but less like Alfred, more like CI on steroids) - Part 1 Grid Happens: Because Flexbox Wasn’t Enough Using Cursor Hooks for automatic version control Deep Dive into the new Cursor Hooks A Responsive Item Counter with CSS only GitButler 0.16 - "Sweet Sixteen" GitButler's Claude Code tab GitButler's Annual Open Source Pledge Report Git Mini Summit 2025 Videos Automate Your AI Workflows with Claude Code Hooks Managing Multiple Claude Code Sessions Without Worktrees GitButler 0.15 - "Quirky Quinceañera" 20 years of Git. Still weird, still wonderful. GitButler's new patch based Code Review (Beta) Going down the rabbit hole of Git's new bundle-uri How to do patch-based review with git range-diff How Core Git Developers Configure Git Why is Git Autocorrect too fast for Formula One drivers? Stacked Branches with GitButler Git Merge 2024 Talks are Up Fearless Rebasing Git Merge 2024 Why GitHub Actually Won GitButler is joining the Open Source Pledge The New Era of Town Hall Chat The Future of Open Source GitButler is now Fair Source Git Merge 2024 GitButler 0.12 - "Stingy Baker" The Birth of THE MERGE GitButler for Windows Fixing up Git with Autosquash The Git Zeitgeist Git Worktrees and GitButler DevWorld Git Slides Git Tips and Tricks Git Tips 1: Oldies but Goodies Git Tips 2: New Stuff in Git Git Tips 3: Really Large Repositories FOSDEM Git Talk Opening Up GitButler Debugging Tauri in VS Code Advent of GitButler Code Signing Commits in Git, Explained Virtual Branches Alpha Our We Are Developers Adventure Building Virtual Branches DevDays in Vilnius The Future of Software and Open Source Introducing GitButler
GitButler 0.13 - "Lucky Baseball"
Scott Chacon · 2024-10-23 · via Butler's Log

It has been 4 months since our last minor release. In that time, we have done 27 patch releases, adding lots of small features, bug fixes, performance improvements and experiments.

Last week we released GitButler 0.13, which is our first release with our new Fearless Rebasing feature, taking a completely new approach to handling branch conflicts. Let's take a quick look at that, and all the other fun stuff in our new release.

Overhauled merge conflict handling

When we started working on GitButler's virtual branches, we knew we needed a way to handle merge conflicts, otherwise you would get in a stuck state at some point. What we came up with wasn't great, and we knew it, but it at least worked.

When you updated from upstream, we would unapply any branches that conflicted with the new incoming code. You could then re-apply them one by one to fix any conflicts, but only as a final merge commit. It was really not a great experience.

However, now we implemented Fearless Rebasing, where we can record conflicts in the commits themselves and allow you to fix them at any time, even continuing to work while older commits are still in a conflicted state.

So now you simply update from upstream and fix your rebased issues one at a time, whenever you would like to work on them.

Speaking of integrating from upstream, we also addressed an issue that was also quite frustrating. When you hit the "update" button before, it was unclear what was going to happen. Would you get conflicts? Was there a branch that was integrated that would be cleared? Who knows, it's a roll of the dice.

Now when you hit the "Update" button to pull in new upstream work, we show you a preview of what all is going to happen.

For each virtual branch, we will tell you if there is a conflict or it can be cleanly rebased or merged, or if the branch has been integrated. If there are conflicts or issues, you can simply cancel the operation and try integrating later instead.

As a sort of side-effect of the fearless rebasing functionality, we now have a way to enter into "Patch Edit" mode, where you can checkout a specific patch, modify it and then rebase everything above it onto the new work.

You can enter "edit mode" on any of your commits by expanding them and hitting the "Edit patch" button, which will essentially check out that commit and then amend it when you're done.

This allows you to address feedback by simply editing a commit, similar to what you might do in Git by going into interactive rebase mode and choosing "edit" on one of the lines.

And More

Additionally, we have a new sidebar branches UI, better diff rendering, the ability to clone repositories, image previews, keyboard shortcuts, lots of new customization options, and much more.

Grab your copy from the download link on our homepage or checkout our release notes on GitHub.

Scott Chacon

Written by Scott Chacon

Scott Chacon is a co-founder of GitHub and GitButler, where he builds innovative tools for modern version control. He has authored Pro Git and spoken globally on Git and software collaboration.