<?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 ByF (BaiFan) · Daily Deep Think</title><link>https://blog.baifan.site/en/tags/git/</link><description>Recent content in Git on ByF (BaiFan) · Daily Deep Think</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF (BaiFan))</managingEditor><webMaster>blog@baifan.site (ByF (BaiFan))</webMaster><copyright>CC BY-NC 4.0</copyright><lastBuildDate>Fri, 09 Oct 2026 15:15:00 +0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>When git add Exits 0 but Stages Nothing: Debugging Git Stat-Cache</title><link>https://blog.baifan.site/en/git-add-silent-failure-stat-cache-plumbing/</link><pubDate>Fri, 09 Oct 2026 15:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/git-add-silent-failure-stat-cache-plumbing/</guid><description>&lt;p&gt;When writing automation scripts or working in the terminal, developers assume a simple rule: as long as &lt;code&gt;git add &amp;lt;file&amp;gt;&lt;/code&gt; exits with code 0, the change is staged. Today, while updating author metadata on the blog, I hit an elusive silent failure: real file modifications on disk, &lt;code&gt;git diff&lt;/code&gt; clearly printing the hunk, &lt;code&gt;git add&lt;/code&gt; returning 0, yet &lt;code&gt;git status&lt;/code&gt; stubbornly insisting the file was untracked, with &lt;code&gt;git diff --cached&lt;/code&gt; remaining completely empty.&lt;/p&gt;</description></item></channel></rss>