<?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 @zhisme :: signal over noise</title><link>https://zhisme.com/tags/git/</link><description>Recent content in Git on @zhisme :: signal over noise</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://zhisme.com/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>Multiple Git Configs Per Directory</title><link>https://zhisme.com/articles/multiple-git-configs-per-directory/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://zhisme.com/articles/multiple-git-configs-per-directory/</guid><description>&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>You have a personal GitHub and a work GitLab (or multiple work accounts). Your global &lt;code>~/.gitconfig&lt;/code> has your personal email. You clone a work repo, make a commit, push — and now your personal email is in the company git history. haha-haha classic..&lt;/p>
&lt;p>You could run &lt;code>git config user.email&lt;/code> in every new repo you clone. But you&amp;rsquo;ll forget. You always forget. But this is a boring routine, why do this?&lt;/p></description></item><item><title>Disable Co-Authored-By Claude in Git Commits</title><link>https://zhisme.com/articles/disable-co-authored-by-claude-in-git-commits/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://zhisme.com/articles/disable-co-authored-by-claude-in-git-commits/</guid><description>&lt;h2 id="solution">Solution&lt;/h2>
&lt;p>Open &lt;code>~/.claude/settings.json&lt;/code> with your favorite editor and add this to your json config. This is taken from Claude docs&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;pre>&lt;code class="language-json">{
 // ...
 &amp;quot;attribution&amp;quot;: {
 &amp;quot;commit&amp;quot;: &amp;quot;&amp;quot;,
 &amp;quot;pr&amp;quot;: &amp;quot;&amp;quot;
 }
}
&lt;/code>&lt;/pre>
&lt;h2 id="why">Why&lt;/h2>
&lt;p>This actually makes no sense and I agree with Rob Pike&amp;rsquo;s take on that&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>. It just adds non-readable boilerplate that does not add any value to the git commit. If it was committed by some guy I expect him to take responsibility of that commit, not some excuse like &amp;ldquo;that was written by Claude, sorry I didn&amp;rsquo;t check&amp;rdquo;. So it makes &lt;strong>no sense&lt;/strong> at all, we are blind to that string anyway. Git commits should be atomic, simple and readable, not overwhelmed by nonsense. The trick above will help you with that.&lt;/p></description></item></channel></rss>