<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>gitty blog</title><description>Guides, comparisons and engineering notes about gitty, a fast git TUI written in Rust.</description><link>https://gitty.runs-on.dev/</link><language>en-us</language><item><title>gitty 0.2.0: commit graph, conflict help, branches and a Files tab</title><link>https://gitty.runs-on.dev/blog/gitty-0-2-0/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/gitty-0-2-0/</guid><description>gitty 0.2.0 adds a commit graph, conflict resolution, a branch picker, stashes, a Files tab, pull request badges, force push with lease and 12 themes.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>release</category><category>changelog</category><category>gitty 0.2.0</category></item><item><title>How to resolve merge conflicts in the terminal</title><link>https://gitty.runs-on.dev/blog/resolve-merge-conflicts-in-terminal/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/resolve-merge-conflicts-in-terminal/</guid><description>Resolve merge, rebase, cherry-pick and revert conflicts in gitty: keep a side per block, stage the file, then continue or abort with m.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>conflicts</category><category>merge</category><category>rebase</category></item><item><title>How to read gitty&apos;s commit graph</title><link>https://gitty.runs-on.dev/blog/read-the-commit-graph/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/read-the-commit-graph/</guid><description>What the dots, corners, heavy line and colours in gitty&apos;s commit graph mean, how to switch it to compact or off, and when it steps aside.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>commit graph</category><category>history</category><category>branches</category></item><item><title>How to switch branches and stash changes in gitty</title><link>https://gitty.runs-on.dev/blog/switch-branches-and-stash/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/switch-branches-and-stash/</guid><description>Switch, create, rename, delete and merge branches from gitty&apos;s picker, and stash, apply, pop and drop work without leaving the terminal.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>branches</category><category>stash</category><category>git tui</category></item><item><title>How to force push safely with lease after an amend or rebase</title><link>https://gitty.runs-on.dev/blog/force-push-with-lease/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/force-push-with-lease/</guid><description>Push after an amend or rebase: how gitty offers a force push with lease, what the question lists, and which branches it never force pushes.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>push</category><category>force push</category><category>rebase</category></item><item><title>See your branch&apos;s pull request from the terminal</title><link>https://gitty.runs-on.dev/blog/see-pull-request-in-terminal/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/see-pull-request-in-terminal/</guid><description>gitty&apos;s top bar shows PR #&lt;n&gt; for the checked-out branch, coloured by state. How to set it up with gh, open the PR with R, and what to check.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>pull requests</category><category>github</category><category>gh</category></item><item><title>Browse your working tree without reading your secrets</title><link>https://gitty.runs-on.dev/blog/browse-files-without-reading-secrets/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/browse-files-without-reading-secrets/</guid><description>gitty&apos;s Files tab shows the working tree with git marks and a read-only viewer, and keeps files named like secrets unread until you press v.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>files</category><category>secrets</category><category>working tree</category></item><item><title>Open gitty in a herdr popup</title><link>https://gitty.runs-on.dev/blog/open-gitty-in-herdr/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/open-gitty-in-herdr/</guid><description>Install gitty&apos;s herdr plugin, bind it to a key, and open gitty in a popup on the focused pane&apos;s repository. What it installs and how to fix it.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>herdr</category><category>plugin</category><category>workflow</category></item><item><title>How gitty draws the commit graph</title><link>https://gitty.runs-on.dev/blog/how-gitty-draws-the-commit-graph/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/how-gitty-draws-the-commit-graph/</guid><description>How gitty lays out its commit graph: a port of lazygit&apos;s pipes, a streamed topological walk, spacer lines, and a fix for a merge at a branch tip.</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>commit graph</category><category>rust</category><category>git internals</category></item><item><title>What is a git TUI, and when should you use one?</title><link>https://gitty.runs-on.dev/blog/what-is-a-git-tui/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/what-is-a-git-tui/</guid><description>A git TUI is a full-screen git client that runs inside your terminal. What it is, how it differs from a GUI, and when it is the better tool.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>git tui</category><category>terminal git client</category><category>git</category></item><item><title>Install gitty on macOS and Linux</title><link>https://gitty.runs-on.dev/blog/install-gitty-macos-linux/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/install-gitty-macos-linux/</guid><description>Install gitty with Homebrew, the shell installer, a prebuilt archive or crates.io, then check it runs. Needs git 2.30 or newer on your PATH.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>install</category><category>homebrew</category><category>gitty</category></item><item><title>Use a git TUI over SSH</title><link>https://gitty.runs-on.dev/blog/git-tui-over-ssh/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/git-tui-over-ssh/</guid><description>A terminal git client works wherever you have a shell. How to run gitty on a remote machine and what to check before you do.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>ssh</category><category>git tui</category><category>remote</category></item><item><title>Keep a git TUI fast on very large repositories</title><link>https://gitty.runs-on.dev/blog/git-tui-large-repositories/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/git-tui-large-repositories/</guid><description>Why git tools slow down on big repositories, how gitty tunes git and uses the commit-graph, and what to check if history feels slow.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>performance</category><category>large repositories</category><category>commit-graph</category></item><item><title>The best git TUI clients compared</title><link>https://gitty.runs-on.dev/blog/best-git-tui-clients/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/best-git-tui-clients/</guid><description>lazygit, tig, gitui and gitty compared on language, platforms and focus, using each project&apos;s own documentation. No benchmarks, just facts.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>git tui</category><category>lazygit</category><category>tig</category><category>gitui</category><category>comparison</category></item><item><title>gitty vs lazygit</title><link>https://gitty.runs-on.dev/blog/gitty-vs-lazygit/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/gitty-vs-lazygit/</guid><description>How gitty and lazygit differ in language, workflow and setup, and where lazygit is the better fit. Based on each project&apos;s own documentation.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>lazygit</category><category>comparison</category><category>git tui</category></item><item><title>gitty vs tig</title><link>https://gitty.runs-on.dev/blog/gitty-vs-tig/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/gitty-vs-tig/</guid><description>How gitty and tig differ in language, workflow and what each is built for, and where tig is the better fit. Based on each project&apos;s own docs.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>tig</category><category>comparison</category><category>git tui</category></item><item><title>gitty vs gitui</title><link>https://gitty.runs-on.dev/blog/gitty-vs-gitui/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/gitty-vs-gitui/</guid><description>How gitty and gitui differ in workflow and features, both written in Rust, and where gitui is the better fit. Based on each project&apos;s docs.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>gitui</category><category>comparison</category><category>git tui</category><category>rust</category></item><item><title>A GitHub Desktop alternative in the terminal</title><link>https://gitty.runs-on.dev/blog/github-desktop-alternative-terminal/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/github-desktop-alternative-terminal/</guid><description>GitHub Desktop is a graphical app. If you want a similar History and Changes workflow in a terminal, here is how gitty compares.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>github desktop</category><category>alternative</category><category>git tui</category></item><item><title>How to stage a single line in a git TUI</title><link>https://gitty.runs-on.dev/blog/stage-a-single-line/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/stage-a-single-line/</guid><description>Stage a single line of a change without leaving the terminal. The keys, the mouse shortcut, and how gitty stays in sync with git status.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>staging</category><category>line staging</category><category>git tui</category></item><item><title>How to browse the history of a huge repository</title><link>https://gitty.runs-on.dev/blog/browse-huge-repository-history/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/browse-huge-repository-history/</guid><description>Browse the history of a very large repository without waiting. What loads first, how to switch scope, and how to pick a range of commits.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>history</category><category>large repositories</category><category>git tui</category></item><item><title>How to undo your last commit safely</title><link>https://gitty.runs-on.dev/blog/undo-last-commit/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/undo-last-commit/</guid><description>Undo your last commit safely in gitty, what undo does while the commit is still HEAD, and how to amend it instead.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>undo</category><category>amend</category><category>commit</category></item><item><title>How to compare your branch with main</title><link>https://gitty.runs-on.dev/blog/compare-branch-with-main/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/compare-branch-with-main/</guid><description>Compare your branch with main in the terminal: press b, pick a branch, and see what is ahead, behind and different.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>compare</category><category>branches</category><category>git tui</category></item><item><title>How to search commits by text, author or path</title><link>https://gitty.runs-on.dev/blog/search-commits/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/search-commits/</guid><description>Search the whole history by text, author or path while you keep working, and jump to the commit you need.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>search</category><category>history</category><category>git tui</category></item><item><title>How to review a range of commits</title><link>https://gitty.runs-on.dev/blog/review-a-commit-range/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/review-a-commit-range/</guid><description>Select a range of commits and read their combined files and diff in gitty, with the keys and mouse shortcuts that make it quick.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>history</category><category>range</category><category>review</category></item><item><title>How to change gitty&apos;s theme, or write your own</title><link>https://gitty.runs-on.dev/blog/change-gitty-theme/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/change-gitty-theme/</guid><description>Switch gitty&apos;s theme live, choose from the 23 built-in themes, or write your own theme file with a custom palette.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>themes</category><category>configuration</category><category>customization</category></item><item><title>How a Rust TUI draws its first frame in 14 ms</title><link>https://gitty.runs-on.dev/blog/first-frame-14-ms/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/first-frame-14-ms/</guid><description>How gitty draws its layout in 14 to 15 ms and streams history in afterward, with the measurements and the design choices behind them.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>performance</category><category>rust</category><category>ratatui</category><category>startup</category></item><item><title>Why gitty reads the commit-graph</title><link>https://gitty.runs-on.dev/blog/why-gitty-reads-the-commit-graph/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/why-gitty-reads-the-commit-graph/</guid><description>Why gitty reads git&apos;s commit-graph: a full history walk takes 24.8 ms with it and 721 ms without, measured on git/git.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>commit-graph</category><category>performance</category><category>git internals</category></item><item><title>The lock that starved the UI thread for about 350 ms</title><link>https://gitty.runs-on.dev/blog/the-lock-that-froze-the-ui/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/the-lock-that-froze-the-ui/</guid><description>The history walker held a write lock for the whole walk, about 350 ms on the kernel. How gitty fixed it and the test that guards it.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>concurrency</category><category>rust</category><category>bug</category></item><item><title>How we measure a terminal UI end to end</title><link>https://gitty.runs-on.dev/blog/measuring-a-terminal-ui/</link><guid isPermaLink="true">https://gitty.runs-on.dev/blog/measuring-a-terminal-ui/</guid><description>How gitty measures a terminal UI end to end: a screen emulator, event timestamps, and a benchmark script that fails when a budget is missed.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Vedang Patel</dc:creator><category>benchmarking</category><category>testing</category><category>tui</category></item></channel></rss>