<?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[Inside Git:Its working]]></title><description><![CDATA[Inside Git:Its working]]></description><link>https://inside-gitits-working.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 04 Nov 2026 11:07:17 GMT</lastBuildDate><atom:link href="https://inside-gitits-working.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Working of Git]]></title><description><![CDATA[Git stores all the changes in code by their SHA-1 hash. All the changes including the object database ,reference, and configurations are stored in the…]]></description><link>https://inside-gitits-working.hashnode.dev/working-of-git</link><guid isPermaLink="true">https://inside-gitits-working.hashnode.dev/working-of-git</guid><category><![CDATA[insidegit]]></category><category><![CDATA[ChaiCode]]></category><dc:creator><![CDATA[Shivesh Kumar]]></dc:creator><pubDate>Sat, 31 Jan 2026 06:31:24 GMT</pubDate><content:encoded><![CDATA[<p>Git stores all the changes in code by their SHA-1 hash.</p>
<p>All the changes including the object database ,reference, and configurations are stored in the hidden .git directory on the same project within the text formate.</p>
<p>Git stores the screenshots of the file.</p>
<h2 id="heading-git-folder">.git folder</h2>
<p>.git is a folder where all the history of changes in file has been saved.</p>
<h3 id="heading-components-of-git-folder">Components of .git folder</h3>
<ol>
<li><p>objects:Here all the actual content is stored in the compressed format.</p>
</li>
<li><p>refs:It stores references where subdirectories are contain.</p>
</li>
<li><p>head:It tells about the current file .where are you working currently?</p>
</li>
<li><p>index:It sends the changes in staging area.</p>
</li>
<li><p>config:This file stores repository configuration setting.</p>
</li>
<li><p>logs:This folder contains history of action.</p>
</li>
</ol>
<p>If any one deleted .git folder the record of change has been deleted.</p>
<h3 id="heading-git-objects">Git Objects</h3>
<p>It is a type of object that store project’s history.</p>
<p>Primary it has 3 types:</p>
<ol>
<li><p>blob</p>
</li>
<li><p>tree</p>
</li>
<li><p>commit</p>
</li>
</ol>
<h3 id="heading-1blob">1.blob</h3>
<p>It stores only content.</p>
<p>If multiple files having same content then it stores only one blob.</p>
<p>If you rename the file blob’s hash cannot change.</p>
<h3 id="heading-2tree">2.tree</h3>
<p>Its organising blobs and other trees in the hierarchical structure. </p>
<p>It also represents a snapshot of a directory at the current time.</p>
<p>It links file name and path name with the blob hash.</p>
<h3 id="heading-3commit">3.commit</h3>
<p>It represent the complete snapshot of the file.</p>
<p>It also includes Author ,Timestamp and commit message.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769838759385/de337db2-5656-4153-a2c5-4c449792613e.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-changes-track">Changes Track</h2>
<p>Git track changes by changing hash if same file then it give same snap and if different file then it give different hash for track the change in the file.</p>
<p>Instead of tracking file changes line by line, Git stores the complete content of each file as a <strong>blob object</strong> when the file is added to the staging area. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769838710689/533134b7-6f0d-4df9-99ac-a806558255b9.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item></channel></rss>