Let's Git Together was an eight-week challenge that ran from November 1 through December 31, 2025. Our team paired with community members to improve the Git experience in Zed: we focused on feature work, and identified issues that were relatively isolated and reasonable for contributors to work on.
When we launched native Git support in March 2025, we knew it wasn't complete. Git is central to how developers work, yet we were missing key workflows. We also knew we had a small team and limited time before we'd need to shift focus to other parts of Zed.
So we turned to our most valuable resource at Zed: our users.
This was the first contributor program of its kind at Zed. We curated a project board, and offered regular pairing sessions along with regular demo days so everyone working on Git features could show off their work and see what others have built.
We would have never guessed how the program would grow, both deeply and widely.
- 66 community contributions shipped:
- 5 major features built.
- 28 bug fixes.
- 33 additional improvements.
All from developers who showed up, paired with us, and made Zed's Git experience dramatically better.
Community Features
The community shipped some incredible features during the sprint.
File History View
One of our most requested features (with over 250 upvotes) was the ability to view a file's Git history directly in the editor. @ddoemonn took this on and delivered beautifully.
Right-click any file in the editor or project panel, and you can now see its complete commit history: author, timestamp, and commit message. Click any commit to see a diff filtered to just that file's changes.
This wasn't a small undertaking. The PR touched over 1,600 lines of code, required implementing remote repository support (for SSH/WSL workflows), and went through multiple design iterations with our team. @cameron1024 worked closely with ddoemonn through the process:
"Thanks so much for working on this—I think we can merge it now! 🎉 Can't wait to start using this, thanks again 🙏"
ddoemonn's response captures what Let's Git Together was all about:
"It was such a pleasure working on this! Really happy we're shipping it 🚀"
That exchange, the gratitude going both directions, is exactly what we were hoping for.
Tree View for the Git Panel
The Git panel originally showed files in a flat list. Great for small changesets, but unwieldy when you're working across many directories. @xipeng-jin implemented a proper tree view that groups files by directory, complete with expand/collapse functionality.
The implementation required significant architectural changes—rethinking how we track visible entries when directories can be collapsed, optimizing the hot code paths for performance. @Anthony-Eid and @RemcoSmitsDev paired with xipeng-jin to get it across the finish line.
Git Blame Avatars for Everyone
Previously, Git blame only showed avatars for GitHub users. @amtoaer expanded this to support GitLab, Gitea, Forgejo, Bitbucket, Codeberg, and self-hosted instances of all of the above. Now, no matter where your repository is hosted, you'll see your teammates' faces in the blame view.
Remote Management UI
@bnjjj tackled a painful gap in our Git workflow: managing remotes. You can now add, remove, and configure repository remotes directly from Zed—no terminal needed. This is part of our goal to support the complete Git workflow from first commit to first PR, all within the editor.
Branch Deletion UI
@errmayank added the ability to delete branches from within Zed. A small feature, but one of those quality-of-life improvements that adds up. errmayank was one of our most prolific contributors during Let's Git Together, shipping five different improvements including fixes for branch syncing, pull behavior, and gitignore handling.
The Bug Fixes
The community crushed 28 bugs during the sprint. A few highlights:
- Commit message newlines (@mchisolm0): Bullet points in commit messages were getting mangled. Fixed.
- Windows staging issues (@cppcoffee): New files were incorrectly marked as modified after staging on Windows. Fixed.
- Push timeout with hooks (@11happy): Git push was failing when hooks took too long. Fixed.
- Submodule handling (@G36maid): The main repository wasn't defaulting correctly when submodules were present. Fixed.
- File permission staging (@11happy): Files with special permissions weren't being staged correctly. Fixed.
- Keybinding for amend (@dinocosta): The commit keybinding wasn't working when amending. Fixed.
Each of these was a papercut that made Git in Zed feel unpolished, and we're so grateful for the support to knock them out.
The Contributors
Let's Git Together wouldn't have happened without the developers who showed up week after week. Some names kept appearing in our merge notifications:
- @errmayank delivered 10 contributions including the branch deletion feature and critical bug fixes
- @Anthony-Eid shipped 6 contributions while also mentoring other contributors (Anthony joined Zed full-time earlier this year after contributing the debugger)
- @kubkon fixed 6 issues including staging performance, file mode handling, and askpass timeouts
- @11happy tackled 3 tricky bugs around hooks, staging, and commit message generation
- @ddoemonn delivered two major features: file history view and
git mvdetection - @mchisolm0 fixed commit message handling issues that were corrupting newlines
- @alphathekiwi improved nested directory display and navigation in commit views
- @MrSubidubi fixed diff highlighting and tooltip positioning
- @osyvokon optimized diff compression for commit message generation
- @yara-blue added support for git remotes
- @xipeng-jin implemented the tree view feature and fixed FocusChanges behavior
And many more: @amtoaer, @siame, @bnjjj, @cppcoffee, @GoldStrikeArch, @leoliu0605, @ayu-ch, @cameron1024, @amustaque97, @danilo-leal—thank you all.
What Made It Work
When we launched this community program, we were nervous the issues would seem daunting. Instantly our nerves were replaced with the best kind of panic: every issue got claimed! Our contributors were hungry for more, and new issues got snapped up within hours. Users began asking to work on issues outside the community-tagged columns, and their reach (and impact) grew fast.
Looking back, a few things made Let's Git Together successful:
A curated project board. We didn't just point people at the issue tracker. We selected issues that were well-scoped, had clear acceptance criteria, and were meaningful improvements. Contributors could browse by type (Feature, Bug) and see exactly what was available.
Weekly pairing sessions. Our team opened up their calendars. Contributors could book time to work through issues together, ask questions about the codebase, and get real-time code review. This dramatically reduced the friction of getting started.
Biweekly demo days. Every two weeks, contributors showed off what they'd shipped. It created accountability, celebrated wins publicly, and let people see how their work fit into the bigger picture.
Fast feedback loops. We prioritized reviewing community PRs quickly. Nothing kills contributor momentum like waiting weeks for a review.
What's Next
It felt bittersweet to announce that this first phase of Let's Git Together has officially wrapped. We'll work on next steps for contributors who are still actively working on issues, and we'll still pair on relevant issues and PRs as they arise, even as our team's focus shifts.
To our contributors and users: you taught us a lot during the program. For a few months, we got to work shoulder-to-shoulder towards a shared goal. We feel so proud at what we were collectively able to ship.
And it taught us that programs of this kind work. We're planning to do more focused community sprints in 2026, tackling other areas of Zed that would benefit from this kind of concentrated effort.
If you contributed during Let's Git Together: thank you. You've made Zed better for hundreds of thousands of developers. Every time someone stages a file, views their commit history, or sees their teammate's avatar in git blame—that's you.
If you missed this one but want to contribute: the Git board is still there. There are still issues to tackle. And our team is still available to pair.
We build Zed in the open because we believe the best tools are built together. Let's Git Together proved it.
See you in the next sprint. 🚀
Related Posts
Check out similar blogs from the Zed team.
Looking for a better editor?
You can try Zed today on macOS, Windows, or Linux. Download now!
We are hiring!
If you're passionate about the topics we cover on our blog, please consider joining our team to help us ship the future of software development.