<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Git on *scratch*</title>
    <link>https://www.scrivano.org/tags/git/</link>
    <description>Recent content in Git on *scratch*</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 06 Jun 2026 10:03:54 +0000</lastBuildDate>
    <atom:link href="https://www.scrivano.org/tags/git/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>GitChronicler: Write commit messages with AI</title>
      <link>https://www.scrivano.org/posts/2025-04-30-git-chronicler/</link>
      <pubDate>Wed, 30 Apr 2025 16:12:00 +0200</pubDate>
      <guid>https://www.scrivano.org/posts/2025-04-30-git-chronicler/</guid>
      <description>&lt;p&gt;I started working on GitChronicler mostly to learn how I could integrate AI into my workflow in a way that would actually spare me doing boring stuff, like writing the git commit message. The tool feeds a patch to a language model via the OpenRouter API and gets back a commit message that reflects what the code actually does — saving the mechanical step of describing changes that are already fully visible in the diff, while still leaving the developer in control of what gets committed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Refactoring a function name across several patches with git rebase</title>
      <link>https://www.scrivano.org/2016/04/22/rename-symbol-across-several-git-patches/</link>
      <pubDate>Fri, 22 Apr 2016 17:32:23 +0000</pubDate>
      <guid>https://www.scrivano.org/2016/04/22/rename-symbol-across-several-git-patches/</guid>
      <description>&lt;p&gt;&lt;em&gt;git rebase&lt;/em&gt; is one of my favorite git commands. It allows to update a set of local patches against another git branch and also to rework, through the &lt;em&gt;-i&lt;/em&gt; flag, some previous patches. A lesser-known capability is the &lt;em&gt;&amp;ndash;exec&lt;/em&gt; flag, which runs an arbitrary shell command after each patch is applied during the rebase. Combined with the &lt;em&gt;-X theirs&lt;/em&gt; merge strategy to silently resolve conflicts, this makes it straightforward to apply mechanical transformations — such as a symbol rename — across an entire patch series without manual intervention.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
