<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gitby</title>
    <description>The latest articles on DEV Community by Gitby (@gitby).</description>
    <link>https://dev.to/gitby</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4213670%2F288bae36-cfb5-4d4e-a092-424413cc2eb8.png</url>
      <title>DEV Community: Gitby</title>
      <link>https://dev.to/gitby</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gitby"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Gitby</dc:creator>
      <pubDate>Wed, 28 Oct 2026 21:33:05 +0000</pubDate>
      <link>https://dev.to/gitby/-3ab5</link>
      <guid>https://dev.to/gitby/-3ab5</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25" class="crayons-story__hidden-navigation-link"&gt;Prevent Git merge conflicts by claiming files before you edit them&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/gitby" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4213670%2F288bae36-cfb5-4d4e-a092-424413cc2eb8.png" alt="gitby profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/gitby" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Gitby
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Gitby
                
                
              
              &lt;div id="story-author-preview-content-4936447" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/gitby" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4213670%2F288bae36-cfb5-4d4e-a092-424413cc2eb8.png" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Gitby&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 28&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25" id="article-link-4936447"&gt;
          Prevent Git merge conflicts by claiming files before you edit them
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/git"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;git&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              2&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
      <category>productivity</category>
      <category>git</category>
    </item>
    <item>
      <title>Prevent Git merge conflicts by claiming files before you edit them</title>
      <dc:creator>Gitby</dc:creator>
      <pubDate>Wed, 28 Oct 2026 19:01:12 +0000</pubDate>
      <link>https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25</link>
      <guid>https://dev.to/gitby/prevent-git-merge-conflicts-by-claiming-files-before-you-edit-them-3i25</guid>
      <description>&lt;h1&gt;
  
  
  Claim it before you touch it: how Gitby prevents merge conflicts
&lt;/h1&gt;

&lt;p&gt;Two people on a team open &lt;code&gt;index.html&lt;/code&gt; 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.&lt;/p&gt;

&lt;p&gt;Git isn't doing anything wrong there. It compares changes once they exist, and by then the expensive part has already happened.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a claim does
&lt;/h2&gt;

&lt;p&gt;Gitby is a terminal app for macOS, Linux and Windows that sits on top of GitHub. Run &lt;code&gt;gitby&lt;/code&gt;, pick a repository, and you get a file list with everyone's claims on it. Press &lt;code&gt;e&lt;/code&gt; 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 &lt;code&gt;r&lt;/code&gt;. You can claim one file, a whole folder, or the entire repository if you're about to do something drastic.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Asking for a file someone else has
&lt;/h2&gt;

&lt;p&gt;When you need a file a teammate holds, press &lt;code&gt;t&lt;/code&gt; to ask for it. They press &lt;code&gt;a&lt;/code&gt; to hand it over or &lt;code&gt;d&lt;/code&gt; to say no. Here's roughly what you see while it's theirs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;index.html  claimed by @mark
Gitby: claimed by @mark. Request access to edit.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  You won't need a second terminal
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Coding agents play by the same rules. They connect over MCP, claim and release files under your account, and propose each claim with a reason you approve on the Agents page, unless you run them with full access. Agent support is still in validation, so it isn't on any plan yet. An agent can already install Gitby for you, though, by following &lt;a href="https://gitby.dev/get-started.md" rel="noopener noreferrer"&gt;gitby.dev/get-started.md&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What your team lead sees
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your code stays on GitHub
&lt;/h2&gt;

&lt;p&gt;Gitby doesn't replace GitHub. Your repositories stay there, you keep using git, and Gitby connects through your GitHub account.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing and install
&lt;/h2&gt;

&lt;p&gt;Gitby is free for up to 3 people and 2 repositories. After that you pay per team, never per seat:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price per team / month&lt;/th&gt;
&lt;th&gt;Teammates&lt;/th&gt;
&lt;th&gt;Repositories&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Starter&lt;/td&gt;
&lt;td&gt;$7.99&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Team&lt;/td&gt;
&lt;td&gt;$14.99&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Team+&lt;/td&gt;
&lt;td&gt;$36.99&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;$89.99&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Team chat starts on Starter, and Team+ adds priority support. If you need more than Enterprise, talk to us about a custom plan.&lt;/p&gt;

&lt;p&gt;On macOS or Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://github.com/GITBY-SOFTWARE/downloads/releases/latest/download/install.sh | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows, in PowerShell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://github.com/GITBY-SOFTWARE/downloads/releases/latest/download/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run &lt;code&gt;gitby&lt;/code&gt;, sign in, pick a repository, and press &lt;code&gt;e&lt;/code&gt; on whatever you're about to change.&lt;/p&gt;

&lt;p&gt;The docs on &lt;a href="https://gitby.dev" rel="noopener noreferrer"&gt;gitby.dev&lt;/a&gt; cover &lt;a href="https://gitby.dev?popup=docs&amp;amp;page=getting-started%2Fclaims&amp;amp;section=claiming-and-releasing" rel="noopener noreferrer"&gt;claims&lt;/a&gt;, &lt;a href="https://gitby.dev?popup=docs&amp;amp;page=getting-started%2Fhandoffs&amp;amp;section=asking-for-a-file" rel="noopener noreferrer"&gt;handoffs&lt;/a&gt; and &lt;a href="https://gitby.dev?popup=docs&amp;amp;page=use%2Fagents-mcp&amp;amp;section=you-stay-in-charge" rel="noopener noreferrer"&gt;agents over MCP&lt;/a&gt; in more detail. If something breaks or you want a feature, tell us at &lt;a href="https://gitby.dev/issues" rel="noopener noreferrer"&gt;gitby.dev/issues&lt;/a&gt; or on &lt;a href="https://discord.gg/9VhMwPMV8e" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>git</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
