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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
B
Blog
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
GRAHAM CLULEY
Microsoft Azure Blog
Microsoft Azure Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
Security Latest
Security Latest
F
Full Disclosure
云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
V
Visual Studio Blog
有赞技术团队
有赞技术团队
腾讯CDC
V
V2EX
Vercel News
Vercel News
C
Cisco Blogs
V2EX - 技术
V2EX - 技术
Scott Helme
Scott Helme
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
AWS News Blog
AWS News Blog
S
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
G
Google Developers Blog
C
Check Point Blog
C
CERT Recently Published Vulnerability Notes
博客园 - 叶小钗
S
SegmentFault 最新的问题
T
Tor Project blog
J
Java Code Geeks
L
Lohrmann on Cybersecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
The Exploit Database - CXSecurity.com
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
量子位
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
TaoSecurity Blog
TaoSecurity Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta

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 GitButler 0.13 - "Lucky Baseball" 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 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.12 - "Stingy Baker"
Scott Chacon · 2024-06-03 · via Butler's Log

It's been a while since our last major release, but we cut and shipped 0.12 just in time for the summer! There are a couple of amazing, major new features in this new build, so get your beta on and help us kick the tires.

The three big things that have changed in this release are a new lane-based commit view, an improved ability to modify commits and a new undo timeline. We're now version controlling your version control!

One thing that has been somewhat confusing has been the state of the commits that you have in your branch. Are they pushed? Are there commits upstream that you haven't integrated? Have you rebased in a way that mirrors commits on the server?

Several months ago Kiril opened a public github issue to try to explore what we might want in a UI to more simply communicate these questions when showing our commits on a virtual branch. The result is the new commit view UI, which much more clearly demonstrates which commits are local only, which have been pushed, what is upstream and more.

GitButler has always been able to do some simple undo and squashing actions, but this release pushes those capabilities to 11.

Some pretty amazing things that you can now very easily do:

  • Undo any commit in your history.
  • Drag files from one commit to another.
  • Reorder commits by dragging and dropping them.
  • Edit commit messages anywhere in your commit stack.
  • Take new uncommitted work and drag it into any commit in your history to absorb the changes.
  • Add empty commits into your stack and drag changes into them.

If you've ever wanted to be an interactive rebasing master, congratulations, you are now a power interactive rebaser!

Finally, someone is version controlling your version control!

You now have a timeline that you can click on in the lower left hand corner that will bring up a log of all the important operations that you've ever done in GitButler for this project.

Not only that, but you can click on any of them to time travel back to right before that operation was started.

Now you can easily undo anything, or find versions of files from the past. Also, unlike git reflog, we also take snapshots of your working directory (with every operation and occasionally if we've seen uncommitted work) so you can even get back work that you never committed anywhere.

If you're interested in the nitty gritty details, we also worked on this feature publicly.

Those are the big new features, but there are lots of smaller things too. I'll cover a few of the more generally interesting stuff real quick.

Our first attempt to support commit signing was entirely integrated in the product, but it was fairly limited – we would only use our generated SSH key and it wouldn't do it for rebases and other situations.

We've taken out that implementation and now simply fork/exec to the respective gpg or ssh-keygen calls, the same way that git itself does. This means that we're now supporting GPG signed commits and it should work with however you had Git setup to sign stuff before. You can also use SSH to sign commits, even with password protected keys or agents like 1Password.

Our new release now has an experimental feature you can turn on where you can have a target branch on a different remote than the one that you create new branches on.

This allows you to have an upstream/master from an open source project that you don't have write access to, but create your feature branches on origin which you can write to.

You can turn on this feature under your user preferences.

There are a few nice new AI customizations that you can use with GitButler for branch name generation and commit message generation.

You can now use a local Ollama server to run your AI features entirely locally and on nearly any open source model you want.

If you use the OpenAI API with your own key, we now let you choose the GPT-4 Omni model if you prefer.

Finally, we now allow custom LLM prompts! This is super useful if you want to follow a specific format or create your messages in another language.

Lots to dig into, so head over to our homepage to download the latest version and as always, join us on Discord to let us know about any issues you run into.

Thanks!

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.