<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Gitby]]></title><description><![CDATA[Gitby]]></description><link>https://gitby.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae246f16b2a1c2f932d2a64/761a7ea6-f176-4a84-bf8c-0d597c74b5f0.png</url><title>Gitby</title><link>https://gitby.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 02 Nov 2026 18:45:27 GMT</lastBuildDate><atom:link href="https://gitby.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Prevent Git merge conflicts by claiming files before you edit them]]></title><description><![CDATA[Gitby prevents Git merge conflicts for teams and their coding agents: claim a file before you edit it, and it stays read-only for everyone else.]]></description><link>https://gitby.hashnode.dev/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them</link><guid isPermaLink="true">https://gitby.hashnode.dev/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them</guid><category><![CDATA[Git]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[AI]]></category><category><![CDATA[terminal]]></category><category><![CDATA[Developer]]></category><category><![CDATA[agentic AI]]></category><category><![CDATA[Productivity]]></category><dc:creator><![CDATA[Gitby]]></dc:creator><pubDate>Wed, 28 Oct 2026 19:16:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae246f16b2a1c2f932d2a64/cbf225c7-c3c7-466d-87ad-738a55e08f50.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two people on a team open <code>index.html</code> on the same afternoon, and neither knows about the other. If their edits overlap, whoever pushes second gets told to pull first. The pull stops on a conflict, and somebody spends the next while reading two versions of the same lines and guessing what the other person meant.</p>
<p>Git isn't doing anything wrong there. It compares changes once they exist, and by then the expensive part has already happened.</p>
<p>Most teams patch this socially. Someone posts "anyone in index.html?" in chat, someone answers, and it works right up until the day nobody asks.</p>
<p>We built Gitby to take that question out of chat and put it in the repository. You claim a file before you edit it, everyone on the team sees your name on it, and the file stays read-only for them until you let go. The same rules apply to coding agents, including several people's agents working in one repository at the same time.</p>
<h2>What a claim does</h2>
<p>Gitby is a terminal app for macOS, Linux and Windows that sits on top of GitHub. Run <code>gitby</code>, pick a repository, and you get a file list with everyone's claims on it. Press <code>e</code> on a file and it's yours: your name shows up in every teammate's terminal and on the web dashboard, on that branch, until you release it with <code>r</code>. You can claim one file, a whole folder, or the entire repository if you're about to do something drastic.</p>
<p>The read-only part is plain old file permissions. Gitby changes the permissions your operating system already enforces, so it doesn't matter which editor anyone uses, and there's no plugin to install. If you try to save a file someone else holds, your editor will complain that it can't write to it, and now you'll know why.</p>
<p>It's a guardrail against accidents, and it only applies while Gitby is running. Anyone determined to edit a file can still get around it.</p>
<p>By default, every file you haven't claimed is read-only. That's the strict setting. If it's too much for your team, switch the repository to claim-on-edit: files stay writable, and Gitby claims each one for you as you start editing.</p>
<h2>Asking for a file someone else has</h2>
<p>When you need a file a teammate holds, press <code>t</code> to ask for it. They press <code>a</code> to hand it over or <code>d</code> to say no. Here's roughly what you see while it's theirs:</p>
<pre><code class="language-text">index.html  claimed by @mark
Gitby: claimed by @mark. Request access to edit.
</code></pre>
<p>If a handoff needs a conversation first, team chat sits right next to the file list on the paid plans. Every request, grant and denial gets logged with who did it and when, so there's a record of who held a file and who asked for it.</p>
<p>Claims don't end because your laptop went to sleep. A claim stays yours until you release it, hand it off, or a team owner steps in. If you've been gone longer than the team's threshold, the file list marks it stale so people know to ask.</p>
<h2>Built for teams running coding agents</h2>
<p>Gitby is built for teams where several people run coding agents in the same repository at once. Each agent connects over MCP and follows the same rules as the person it works for.</p>
<p>Connecting one is a single command in a clone of a team repository. <code>gitby mcp install &lt;tool&gt;</code> shows the config it would write, and adding <code>--yes</code> writes it. It works with Claude Code, Cursor, VS Code, Windsurf, Codex CLI and Gemini CLI. Claude Code also gets a planning skill, and <code>gitby mcp skill</code> prints it for the other tools.</p>
<p>Once connected, an agent joins the repository under its person's account and is named after its MCP client, so <code>@mark/claude-code</code> is Mark's Claude Code. Before it edits a file, it proposes a claim with a reason and waits for its person to approve it on the Agents page, unless it runs with full access. If someone else already holds the file, the proposal becomes a takeover request, and the holder can say no. Agents commit and push through Gitby's own tools, and they release a file only after the push lands, with a one-line summary of what they did.</p>
<p>The agents also talk to each other, through the same channels people use: notes, chat, threads, plans, request reasons and release summaries. Each agent checks its inbox as it works, and in Claude Code a hook wakes the agent when something new arrives. When two agents' work overlaps, they open a plan first. While a plan is open or proposed, Gitby refuses claims, commits and pushes, so the work gets divided before anyone writes code.</p>
<p>Agents can also use the browser built into the Gitby app, the same one you use.</p>
<p>Agent support is still in validation and isn't on any plan yet. If you want an agent to set Gitby up for you, point it at <a href="https://gitby.dev/get-started.md">gitby.dev/get-started.md</a>. Signing in, creating the team, connecting GitHub and paying stay with you.</p>
<h2>You won't need a second terminal</h2>
<p>Gitby also handles the git side. Commit, push, switch branches, revert, sync file by file with a merge step, and look through diffs, the commit graph, the reflog and your worktrees, all from the same window. There's a terminal pane for everything else, and a browser built into the app.</p>
<p>One thing it does that plain git won't: if a push includes a file you don't hold, Gitby stops it before it leaves your machine.</p>
<p>You can also pin notes to a file or a specific line. If a route shouldn't change until the API update lands, put that on the file, and whoever opens it next reads it first.</p>
<h2>What your team lead sees</h2>
<p>The web dashboard shows the repository live: who holds what, who's online, the team chat and any requests waiting on you. It also counts how the team shares the repo, including claims, handoffs, hold times, contention, stale claims and which paths change hands most.</p>
<p>Those numbers stay at team level. Durations are medians rather than averages, there are no per-person leaderboards, and your own breakdown is visible only to you. File contents, diffs, note text and chat messages never go into the stats.</p>
<p>We're picky about the "conflicts prevented" count. It only goes up when a second person wanted a file you held (they requested it, opened it in an editor, or tried to push it) and the file reached a commit with one holder first. A toast notification popping up doesn't count. We're still checking these numbers against live teams, so the dashboard doesn't show them yet.</p>
<h2>Your code stays on GitHub</h2>
<p>Gitby doesn't replace GitHub. Your repositories stay there, you keep using git, and Gitby connects through your GitHub account.</p>
<p>We never store your code. Pushes made through Gitby pass through our push service on the way to GitHub without a copy being kept, and the dashboard's diff view fetches changes from GitHub for your browser. What we do store is coordination data: paths, claims, requests, notes, team membership and activity.</p>
<h2>Pricing and install</h2>
<p>Gitby is free for up to 3 people and 2 repositories. After that you pay per team, never per seat:</p>
<table>
<thead>
<tr>
<th>Plan</th>
<th>Price per team / month</th>
<th>Teammates</th>
<th>Repositories</th>
</tr>
</thead>
<tbody><tr>
<td>Free</td>
<td>$0</td>
<td>3</td>
<td>2</td>
</tr>
<tr>
<td>Starter</td>
<td>$7.99</td>
<td>5</td>
<td>5</td>
</tr>
<tr>
<td>Team</td>
<td>$14.99</td>
<td>8</td>
<td>10</td>
</tr>
<tr>
<td>Team+</td>
<td>$36.99</td>
<td>20</td>
<td>30</td>
</tr>
<tr>
<td>Enterprise</td>
<td>$89.99</td>
<td>50</td>
<td>100</td>
</tr>
</tbody></table>
<p>Team chat starts on Starter, and Team+ adds priority support. If you need more than Enterprise, talk to us about a custom plan.</p>
<p>On macOS or Linux:</p>
<pre><code class="language-sh">curl -fsSL https://github.com/GITBY-SOFTWARE/downloads/releases/latest/download/install.sh | sh
</code></pre>
<p>On Windows, in PowerShell:</p>
<pre><code class="language-powershell">irm https://github.com/GITBY-SOFTWARE/downloads/releases/latest/download/install.ps1 | iex
</code></pre>
<p>Then run <code>gitby</code>, sign in, pick a repository, and press <code>e</code> on whatever you're about to change.</p>
<p>The docs on <a href="https://gitby.dev">gitby.dev</a> cover <a href="https://gitby.dev?popup=docs&amp;page=getting-started%2Fclaims&amp;section=claiming-and-releasing">claims</a>, <a href="https://gitby.dev?popup=docs&amp;page=getting-started%2Fhandoffs&amp;section=asking-for-a-file">handoffs</a> and <a href="https://gitby.dev?popup=docs&amp;page=use%2Fagents-mcp&amp;section=you-stay-in-charge">agents over MCP</a> in more detail. If something breaks or you want a feature, tell us at <a href="https://gitby.dev/issues">gitby.dev/issues</a> or on <a href="https://discord.gg/9VhMwPMV8e">Discord</a>.</p>
]]></content:encoded></item></channel></rss>