<?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>Forem: Abhimanyu Kumar</title>
    <description>The latest articles on Forem by Abhimanyu Kumar (@abhimanyu_kumar_b94e042e9).</description>
    <link>https://forem.com/abhimanyu_kumar_b94e042e9</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2996885%2F6d0b23e7-d407-4c1f-bf46-9b79ce5f8d64.jpg</url>
      <title>Forem: Abhimanyu Kumar</title>
      <link>https://forem.com/abhimanyu_kumar_b94e042e9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/abhimanyu_kumar_b94e042e9"/>
    <language>en</language>
    <item>
      <title>How DNS Resolution Works</title>
      <dc:creator>Abhimanyu Kumar</dc:creator>
      <pubDate>Wed, 21 Jan 2026 05:03:38 +0000</pubDate>
      <link>https://forem.com/abhimanyu_kumar_b94e042e9/how-dns-resolution-works-4m0n</link>
      <guid>https://forem.com/abhimanyu_kumar_b94e042e9/how-dns-resolution-works-4m0n</guid>
      <description>&lt;h2&gt;
  
  
  Introduction: DNS as the Internet’s Phonebook
&lt;/h2&gt;

&lt;p&gt;Imagine you want to call a friend.&lt;br&gt;
You don’t remember their phone number, but you remember their name.&lt;br&gt;
So you open your phonebook, search the name, and get the number.&lt;br&gt;
&lt;strong&gt;DNS (Domain Name System)&lt;/strong&gt; works the same way.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Humans remember: google.com&lt;/li&gt;
&lt;li&gt;Computers understand: 142.250.195.46 (IP address)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DNS translates human-friendly domain names into machine-friendly IP addresses.&lt;br&gt;
This process is called &lt;strong&gt;DNS Resolution&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;Why Does Name Resolution Exist?&lt;/p&gt;

&lt;p&gt;If DNS didn’t exist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You would have to type IP addresses instead of website names&lt;/li&gt;
&lt;li&gt;Websites changing servers would break bookmarks&lt;/li&gt;
&lt;li&gt;The internet would be unusable for humans
So DNS exists to make the internet &lt;strong&gt;scalable, flexible, and human-friendly.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What is the &lt;code&gt;dig&lt;/code&gt; Command?
&lt;/h2&gt;

&lt;p&gt;dig stands for &lt;strong&gt;Domain Information Groper&lt;/strong&gt;.&lt;br&gt;
It is a DNS diagnostic tool used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inspect DNS records&lt;/li&gt;
&lt;li&gt;Understand how a domain is resolved&lt;/li&gt;
&lt;li&gt;Debug DNS issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of dig as an X-ray machine for DNS lookups.&lt;br&gt;
&lt;code&gt;dig google.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which servers were contacted&lt;/li&gt;
&lt;li&gt;What records were returned&lt;/li&gt;
&lt;li&gt;How long it took&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  DNS Resolution Happens in Layers
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6jughj163q8f3vysmvv.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fp6jughj163q8f3vysmvv.png" alt=" " width="800" height="285"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;DNS resolution&lt;/strong&gt; does not happen in one step.&lt;br&gt;
It happens in a &lt;strong&gt;hierarchy&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Root Name Servers&lt;/li&gt;
&lt;li&gt;TLD Name Servers (.com, .org, .in)&lt;/li&gt;
&lt;li&gt;Authoritative Name Servers&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s understand each layer using &lt;code&gt;dig&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding dig . NS → Root Name Servers
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;dig . NS&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;.&lt;/code&gt; (dot) represents the DNS root&lt;/li&gt;
&lt;li&gt;This command asks:
“Who manages the entire DNS system?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Real-life example&lt;/strong&gt; &lt;br&gt;
Imagine a country:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The central government doesn’t know every house address&lt;/li&gt;
&lt;li&gt;But it knows which state offices exist&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Root servers don’t know IPs of websites&lt;br&gt;
They only know where to find TLD servers&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding dig com NS → TLD Name Servers
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;dig com NS&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asking: “Who manages all .com websites?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Real-life example&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Continuing the address analogy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Country → State → City → House&lt;/li&gt;
&lt;li&gt;.com is like a state&lt;/li&gt;
&lt;li&gt;TLD servers know which authoritative servers manage domains&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They don’t know &lt;code&gt;google.com&lt;/code&gt; IP,&lt;br&gt;
but they know who to ask next.&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding dig google.com NS → Authoritative Servers
&lt;/h2&gt;

&lt;p&gt;dig google.com NS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does this show?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The authoritative name servers for google.com&lt;/li&gt;
&lt;li&gt;These servers hold the actual DNS records&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Real-life example&lt;/strong&gt; &lt;br&gt;
This is like reaching the local house registry office:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They know the exact address&lt;/li&gt;
&lt;li&gt;Final and trusted source of information&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Authoritative servers give the real IP address
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Understanding dig google.com → Full DNS Resolution Flow
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;dig google.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This triggers the complete DNS resolution process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1qi8lzbp610db8d7yzj.jpg" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fs1qi8lzbp610db8d7yzj.jpg" alt=" " width="800" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step-by-step flow (Real-life analogy)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Browser asks the Recursive Resolver&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Where is google.com?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Resolver asks Root Server&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Who handles .com?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Root replies&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Ask the .com TLD servers”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Resolver asks TLD Server&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Who handles google.com?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TLD replies&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Ask Google’s authoritative servers”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Resolver asks Authoritative Server&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What is the IP of google.com?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Authoritative server replies&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here is the IP: 142.xxx.xxx.xxx”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Resolver returns the IP to the browser&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Browser connects to Google’s server &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What Are NS Records and Why They Matter?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;NS (Name Server) records&lt;/strong&gt; tell:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which servers are responsible for a domain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why important?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Load balancing&lt;/li&gt;
&lt;li&gt;Fault tolerance&lt;/li&gt;
&lt;li&gt;Faster resolution&lt;/li&gt;
&lt;li&gt;High availability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without NS records:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS delegation would fail&lt;/li&gt;
&lt;li&gt;Websites would become unreachable&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Role of Recursive Resolver (Behind the Scenes)
&lt;/h2&gt;

&lt;p&gt;The recursive resolver (ISP / Google DNS / Cloudflare DNS):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performs all DNS steps on your behalf&lt;/li&gt;
&lt;li&gt;Caches responses for faster future access&lt;/li&gt;
&lt;li&gt;Protects browsers from DNS complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Browsers do not talk to root servers directly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Connecting DNS to Real Browser Requests
&lt;/h2&gt;

&lt;p&gt;When you type:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;https://google.com&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Behind the scenes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS resolves the domain&lt;/li&gt;
&lt;li&gt;Browser gets the IP&lt;/li&gt;
&lt;li&gt;TCP connection is created&lt;/li&gt;
&lt;li&gt;HTTPS handshake happens&lt;/li&gt;
&lt;li&gt;Webpage loads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DNS is the first and mandatory step in web communication.&lt;/p&gt;




&lt;h2&gt;
  
  
  Less time to coverup summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;DNS is the foundation of the internet&lt;/li&gt;
&lt;li&gt;dig helps visualize DNS resolution&lt;/li&gt;
&lt;li&gt;Resolution happens in layers&lt;/li&gt;
&lt;li&gt;Recursive resolvers hide complexity&lt;/li&gt;
&lt;li&gt;Every browser request starts with DNS&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>dns</category>
      <category>networking</category>
    </item>
    <item>
      <title>Understanding Network Devices</title>
      <dc:creator>Abhimanyu Kumar</dc:creator>
      <pubDate>Tue, 20 Jan 2026 06:27:50 +0000</pubDate>
      <link>https://forem.com/abhimanyu_kumar_b94e042e9/understanding-network-devices-15l4</link>
      <guid>https://forem.com/abhimanyu_kumar_b94e042e9/understanding-network-devices-15l4</guid>
      <description>&lt;p&gt;Imagine this,&lt;br&gt;
You open your laptop, type &lt;strong&gt;chaicode.com&lt;/strong&gt;, and press &lt;strong&gt;Enter&lt;/strong&gt;.&lt;br&gt;
Within a second a page appears. Have you wondered how that page reached you?&lt;br&gt;
It didn't just magically appear.&lt;br&gt;
Behind the scenes, &lt;strong&gt;some networking devices worked together like a team.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's understand With a story
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Internet starts from Outside your home
&lt;/h2&gt;

&lt;p&gt;Think of the &lt;strong&gt;internet&lt;/strong&gt; as a &lt;strong&gt;very big city&lt;/strong&gt; full of information:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Website&lt;/li&gt;
&lt;li&gt;Videos&lt;/li&gt;
&lt;li&gt;Apps&lt;/li&gt;
&lt;li&gt;Servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your home and office is just &lt;strong&gt;a small house&lt;/strong&gt; in that city.&lt;br&gt;
To bring network into your house, we need some helpers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Modem -- The Internet Door of Your home
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmojm3dby97mg0xkxvykd.jpg" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fmojm3dby97mg0xkxvykd.jpg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
First understand, &lt;strong&gt;What is Modem?&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;modem&lt;/strong&gt; is the first device that connects your home to the internet.&lt;/p&gt;

&lt;p&gt;Without a modem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No Internet &lt;/li&gt;
&lt;li&gt;No Website&lt;/li&gt;
&lt;li&gt;No YouTube&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's understand with a example &lt;br&gt;
&lt;strong&gt;Modem is like a main gate of your house&lt;/strong&gt;&lt;br&gt;
It allows the internet to &lt;strong&gt;enter your home.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Internet comes from your &lt;strong&gt;ISP&lt;/strong&gt;(Internet service provider) -&amp;gt; &lt;strong&gt;Jio, Airtel&lt;/strong&gt; etc..&lt;br&gt;
The modem understand their signals and convert them into data your device can use.&lt;/p&gt;

&lt;p&gt;No modem == No internet&lt;/p&gt;




&lt;h2&gt;
  
  
  Router - Who gets the internet?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feb6rmoiyv7mgswucr7be.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Feb6rmoiyv7mgswucr7be.png" alt=" " width="800" height="627"&gt;&lt;/a&gt;&lt;br&gt;
Now the internet is inside your house.&lt;br&gt;
But you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mobile&lt;/li&gt;
&lt;li&gt;Laptop&lt;/li&gt;
&lt;li&gt;Smart TV&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Who decides which gets what data?&lt;br&gt;
That's the router job&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Router?&lt;/strong&gt;&lt;br&gt;
A router sends internet data to correct device.&lt;br&gt;
Example: &lt;strong&gt;Router&lt;/strong&gt; is like a traffic police&lt;br&gt;
it sees: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This data is for phone&lt;/li&gt;
&lt;li&gt;This is your laptop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And sends it correctly&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One internet connection &lt;/li&gt;
&lt;li&gt;Many devices&lt;/li&gt;
&lt;li&gt;Router manage everything&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Hub vs Switch - Talking Inside the network
&lt;/h2&gt;

&lt;p&gt;Inside an office or lab, many computer are connected together.&lt;br&gt;
For this, we use hub and switch.&lt;/p&gt;

&lt;p&gt;Let's we will take an example of the classroom.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hub -Old Style (Not Smart)
&lt;/h2&gt;

&lt;p&gt;A hub sends data to everyone.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Teacher shouts a message in the class&lt;br&gt;
Even students who don't need to hear it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Problem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;slow&lt;/li&gt;
&lt;li&gt;wastes data&lt;/li&gt;
&lt;li&gt;Not secure&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Switch -Smart Choice
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fao93f28lt9gak3btmhx9.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fao93f28lt9gak3btmhx9.png" alt=" " width="371" height="136"&gt;&lt;/a&gt;&lt;br&gt;
A switch sends data only the correct computer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Teacher gives a letter to one student, Only that student reads it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast&lt;/li&gt;
&lt;li&gt;Secure&lt;/li&gt;
&lt;li&gt;Used everywhere today&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Modern network use switches, Not hubs&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Firewall - The Security Guard
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3j2m82pqklobojqvhre.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fi3j2m82pqklobojqvhre.png" alt=" " width="800" height="419"&gt;&lt;/a&gt;&lt;br&gt;
The internet is useful, but it is also dangerous.&lt;br&gt;
Hackers, viruses, unwanted traffic all exists.&lt;br&gt;
That's why we need a firewall.&lt;/p&gt;

&lt;p&gt;First understand, &lt;strong&gt;What is Firewall?&lt;/strong&gt;&lt;br&gt;
A firewall checks every request coming in or going out.&lt;/p&gt;

&lt;p&gt;See, Firewall is like a security guard at a gate&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allowed person -&amp;gt; come in&lt;/li&gt;
&lt;li&gt;Unknown person -&amp;gt; Stop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Firewall protects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computer&lt;/li&gt;
&lt;li&gt;Servers&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Load Balancer -&amp;gt; Handling Too many users
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4z1o6i2fxicuk2602r2p.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2F4z1o6i2fxicuk2602r2p.png" alt=" " width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's take a example of &lt;strong&gt;Flipkart&lt;/strong&gt;: Flipkart announced 80% discount of every product, Now what will happen Thousand of the people visits their website to purchasing products at a same time.&lt;br&gt;
One server will get tired&lt;br&gt;
So what do we do?&lt;/p&gt;

&lt;p&gt;Here the concepts of load balancer comes?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is load balancer?&lt;/strong&gt;&lt;br&gt;
A Load Balancer shares traffic between many servers.&lt;/p&gt;

&lt;p&gt;We see at Toll plaza on highway&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One gate -&amp;gt; traffic jam &lt;/li&gt;
&lt;li&gt;Multiple gats -&amp;gt; Smooth traffic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Load Balancer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Makes website fast&lt;/li&gt;
&lt;li&gt;Prevents server crash&lt;/li&gt;
&lt;li&gt;Used in big apps like Flipkart, Netflix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Short and precise meaning of all is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Internet comes from ISP&lt;/li&gt;
&lt;li&gt;Modem brings it inside&lt;/li&gt;
&lt;li&gt;Router sends it to right device&lt;/li&gt;
&lt;li&gt;Firewall checks security&lt;/li&gt;
&lt;li&gt;Load balancer manages heavy traffic&lt;/li&gt;
&lt;li&gt;Switch connects internal systems&lt;/li&gt;
&lt;li&gt;Data reaches server &lt;/li&gt;
&lt;li&gt;Response comes back to you&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>networking</category>
      <category>network</category>
      <category>chaicode</category>
    </item>
    <item>
      <title>Inside Git: How It Works and the Role of the .git Folder</title>
      <dc:creator>Abhimanyu Kumar</dc:creator>
      <pubDate>Mon, 05 Jan 2026 05:40:58 +0000</pubDate>
      <link>https://forem.com/abhimanyu_kumar_b94e042e9/inside-git-how-it-works-and-the-role-of-the-git-folder-19cm</link>
      <guid>https://forem.com/abhimanyu_kumar_b94e042e9/inside-git-how-it-works-and-the-role-of-the-git-folder-19cm</guid>
      <description>&lt;p&gt;when i run Git commands like &lt;strong&gt;git add&lt;/strong&gt; or &lt;strong&gt;git commit&lt;/strong&gt;, everything feels simple.&lt;br&gt;
But behind the scenes, Git is doing a lot of serious work.&lt;/p&gt;

&lt;p&gt;The real magic of Git lives inside the hidden folder called &lt;strong&gt;.git&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you truly want to understand Git, Not just use it you must understand what happens inside this folder.&lt;/p&gt;

&lt;p&gt;Let's open Git from the inside.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Moment Git Comes Alive
&lt;/h2&gt;

&lt;p&gt;Imagine you have a normal project folder.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;myProject&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now run this command &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;git init&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;suddenly , a hidden folder appears That is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;.git/&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This single folder turns your project into &lt;strong&gt;Git repository&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If the .git folder is deleted, Git forgets everything.&lt;/li&gt;
&lt;li&gt;But your file remain, but Git memory is gone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This tells one thing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  Git is not the files -- Git is the history stored in .git.
&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Now, What is the &lt;strong&gt;.git&lt;/strong&gt; Folder Really?
&lt;/h2&gt;

&lt;p&gt;Here we will think like as a Git brain.&lt;/p&gt;

&lt;p&gt;It stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every commit you have ever made.&lt;/li&gt;
&lt;li&gt;Every file version.&lt;/li&gt;
&lt;li&gt;Every branch.&lt;/li&gt;
&lt;li&gt;Every message.&lt;/li&gt;
&lt;li&gt;Every pointer.&lt;/li&gt;
&lt;li&gt;The complete timeline of your project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's Enter the .git folder
&lt;/h2&gt;

&lt;p&gt;Inside .git, you'll see something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fghxx0qtyxrkmtma0y4b2.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fghxx0qtyxrkmtma0y4b2.png" alt=" " width="307" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Each part has a clear responsibility
&lt;/h2&gt;

&lt;h2&gt;
  
  
  HEAD - Where You Are Right Now
&lt;/h2&gt;

&lt;p&gt;Head is a pointer.&lt;/p&gt;

&lt;p&gt;it tells Git:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This is the current commit you are working on."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;usually, it points to branch like main.&lt;br&gt;
When you switch branches like &lt;strong&gt;main&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When you switch branches or checkout a commit, &lt;strong&gt;HEAD moves&lt;/strong&gt;.&lt;br&gt;
That's how Git always knows your current position in history&lt;/p&gt;




&lt;h2&gt;
  
  
  objects/ - The heart of Git ❤️
&lt;/h2&gt;

&lt;p&gt;This is the most important directory.&lt;/p&gt;

&lt;p&gt;Everything in Git becomes an &lt;strong&gt;object&lt;/strong&gt; and is stored here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File contents&lt;/li&gt;
&lt;li&gt;Folder Structure&lt;/li&gt;
&lt;li&gt;Commits&lt;/li&gt;
&lt;li&gt;Messages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git uses &lt;strong&gt;hashes (SHA-1)&lt;/strong&gt; to store objects.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same object -&amp;gt; same hash&lt;/li&gt;
&lt;li&gt;No duplication&lt;/li&gt;
&lt;li&gt;Data integrity guaranteed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git doesn't care about filenames here -- only &lt;strong&gt;content&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  index -&amp;gt; The Stagging Area
&lt;/h2&gt;

&lt;p&gt;When you run:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git add .&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Changes are written to the &lt;strong&gt;index file&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This file represents:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What will got into the next commit"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s a buffer between working files and permanent history.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;That’s why Git allows:&lt;/li&gt;
&lt;li&gt;Partial commits&lt;/li&gt;
&lt;li&gt;Clean control&lt;/li&gt;
&lt;li&gt;Intentional snapshots&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  refs/ -&amp;gt; Branches &amp;amp; Tags
&lt;/h2&gt;

&lt;p&gt;This folder stores references to commits.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;refs/heads/master&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This file contains a commit hash.&lt;br&gt;
So a branch is not a &lt;strong&gt;copy of code&lt;/strong&gt;&lt;br&gt;
it’s just a &lt;strong&gt;pointer to a commit&lt;/strong&gt;.&lt;br&gt;
That’s why branches are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight&lt;/li&gt;
&lt;li&gt;Fast&lt;/li&gt;
&lt;li&gt;Cheap to create&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  logs/ -&amp;gt; Git's Memory Timeline
&lt;/h2&gt;

&lt;p&gt;Every movement of &lt;strong&gt;HEAD&lt;/strong&gt; is logged here.&lt;br&gt;
This is how Git can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recover lost commits&lt;/li&gt;
&lt;li&gt;Undo mistakes&lt;/li&gt;
&lt;li&gt;Support git reflog
Even if you “lose” a commit, Git still remembers it — temporarily.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  config – Repository Settings
&lt;/h2&gt;

&lt;p&gt;This file stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo-specific configuration&lt;/li&gt;
&lt;li&gt;Remote URLs&lt;/li&gt;
&lt;li&gt;User preferences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s local to the repository and overrides global settings.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happens When You Run Git Commands?
&lt;/h2&gt;

&lt;p&gt;Let’s connect commands to internal behavior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git add&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updates the index&lt;/li&gt;
&lt;li&gt;Does not create history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;git commit&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;creates a new commit object&lt;/li&gt;
&lt;li&gt;Stores snapshot in objects/&lt;/li&gt;
&lt;li&gt;Moves branch pointer&lt;/li&gt;
&lt;li&gt;Updates HEAD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;git checkout&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moves HEAD&lt;/li&gt;
&lt;li&gt;Updates working directory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;git log&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reads commit objects&lt;/li&gt;
&lt;li&gt;Follows parent links&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Git Is So Fast
&lt;/h2&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Files are hashed&lt;/li&gt;
&lt;li&gt;Objects are immutable&lt;/li&gt;
&lt;li&gt;No duplication&lt;/li&gt;
&lt;li&gt;Everything is local&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git doesn’t ask a server:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What changed?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Git already knows.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Why Deleting .git Is Dangerous
&lt;/h2&gt;

&lt;p&gt;If you delete .git:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All commits are gone&lt;/li&gt;
&lt;li&gt;All branches disappear&lt;/li&gt;
&lt;li&gt;History is erased&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your files survive — but Git becomes blind.&lt;/p&gt;

&lt;p&gt;That’s why &lt;strong&gt;.git&lt;/strong&gt; is sacred.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Git is not magic things&lt;/strong&gt;&lt;br&gt;
it is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smart data structures&lt;/li&gt;
&lt;li&gt;Clear pointers&lt;/li&gt;
&lt;li&gt;Immutable snapshots&lt;/li&gt;
&lt;li&gt;Careful tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you understand .git, Git commands stop feeling scary.&lt;/p&gt;

&lt;p&gt;You stop memorizing commands&lt;br&gt;
and start &lt;strong&gt;reasoning about behavior&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>Git for Beginners: Basics and Essential Commands</title>
      <dc:creator>Abhimanyu Kumar</dc:creator>
      <pubDate>Sun, 04 Jan 2026 03:13:31 +0000</pubDate>
      <link>https://forem.com/abhimanyu_kumar_b94e042e9/git-for-beginners-basics-and-essential-commands-1cb</link>
      <guid>https://forem.com/abhimanyu_kumar_b94e042e9/git-for-beginners-basics-and-essential-commands-1cb</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;If you are learning web development, later or sooner you will be listen this sentences &lt;br&gt;
&lt;strong&gt;"Push your code to GitHub"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But before GitHub there is &lt;strong&gt;Git&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git is not just another tool, it is the foundation of &lt;strong&gt;software development&lt;/strong&gt;.&lt;br&gt;
Almost every company, open-source project, and developer uses Git daily.&lt;/p&gt;

&lt;p&gt;In this, here we will see all about the Git and their command, which comes to use in the day to day life.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Git?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Git is the distributed version control system. It gives your code a memory.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Track changes in your code&lt;/li&gt;
&lt;li&gt;Save different version of your project&lt;/li&gt;
&lt;li&gt;work with other developers without overwriting each other's work&lt;/li&gt;
&lt;li&gt;Go back in Time if somethings break&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use of Git
&lt;/h2&gt;

&lt;p&gt;Before git, developer used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pendrive&lt;/li&gt;
&lt;li&gt;Email attachments&lt;/li&gt;
&lt;li&gt;Shared folder&lt;/li&gt;
&lt;li&gt;Files like final_1, final_1, last_final&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes overwhelming codes, it become causes of &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lost code&lt;/li&gt;
&lt;li&gt;Overwritten changes&lt;/li&gt;
&lt;li&gt;No history&lt;/li&gt;
&lt;li&gt;No collaboration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This all of the problems solved by the version control system, That is &lt;strong&gt;GIT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Git Provides you to : -&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keeps your full history of changes&lt;/li&gt;
&lt;li&gt;Shows who changes and what changed &lt;/li&gt;
&lt;li&gt;Allow collaboration with team&lt;/li&gt;
&lt;li&gt;Makes mistake reversible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's why everyone loves Git&lt;/p&gt;

&lt;h2&gt;
  
  
  Git Basic and some core Technologies
&lt;/h2&gt;

&lt;p&gt;Before using the Git command, let's have some understand the important terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Repository(Repo)
&lt;/h2&gt;

&lt;p&gt;This is nothing just a folder, where Git is tracking.&lt;br&gt;
It contains: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your project files&lt;/li&gt;
&lt;li&gt;Git history&lt;/li&gt;
&lt;li&gt;Git configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you init a git in your project create on file inside your project, and this files tracks your all the changes and history that you have done.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Commit
&lt;/h2&gt;

&lt;p&gt;A Commit is a snapshot of your code at a specific time&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Think like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A unique ID&lt;/li&gt;
&lt;li&gt;Author name&lt;/li&gt;
&lt;li&gt;Date &amp;amp; time&lt;/li&gt;
&lt;li&gt;Message describing the change&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  3. Branch
&lt;/h2&gt;

&lt;p&gt;A Branch is an independent line of development&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Main branch - Stable code&lt;/li&gt;
&lt;li&gt;Other branch - experiments, feature, fixes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Head
&lt;/h2&gt;

&lt;p&gt;Head is a pointer to point your current commit.&lt;br&gt;
Head shows you are right now in project history.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Git workflows
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4e2ayzvdy22hsygfiuaq.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2F4e2ayzvdy22hsygfiuaq.png" alt=" " width="800" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three stages are there in Git works&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working directory&lt;/li&gt;
&lt;li&gt;Staging Area&lt;/li&gt;
&lt;li&gt;Repository&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installing Git
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Windows: Download from git-scm.com&lt;/li&gt;
&lt;li&gt;macOS : brew install git&lt;/li&gt;
&lt;li&gt;Linus : sudo apt install git&lt;/li&gt;
&lt;li&gt;after installation check version&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;git --v or git --version&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Common Git commands
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. git-init&lt;/strong&gt;&lt;br&gt;
initilized a new Git repo&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git init&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;2. git status&lt;/strong&gt;&lt;br&gt;
show your current status of your project&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git status&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Modified files&lt;/li&gt;
&lt;li&gt;staged files&lt;/li&gt;
&lt;li&gt;untracked files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. git add&lt;/strong&gt;&lt;br&gt;
Adds file to the staging area&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git add or git add .&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;staging means&lt;/strong&gt; : :I want to include these changes in the next commit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. git commit&lt;/strong&gt;&lt;br&gt;
save changes permanently to the git history&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git commit -m "Message"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Always write meaningful commit message&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. git log&lt;/strong&gt;&lt;br&gt;
shows commit history&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git log&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;you can see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;commit history&lt;/li&gt;
&lt;li&gt;Author&lt;/li&gt;
&lt;li&gt;Date&lt;/li&gt;
&lt;li&gt;Message&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. git branch&lt;/strong&gt;&lt;br&gt;
show all branch&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git branch&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Create a new branch&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git create "branch name"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;7. git checkout&lt;/strong&gt;&lt;br&gt;
switch between branches&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;git checkout branch-name&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;8. git checkout -b&lt;/strong&gt;&lt;br&gt;
create + switch branch in one command&lt;/p&gt;

&lt;p&gt;git checkout -b branch-name&lt;/p&gt;

&lt;h2&gt;
  
  
  Why need to learn version control for every developer
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Work confidently in teams&lt;/li&gt;
&lt;li&gt;Debug faster&lt;/li&gt;
&lt;li&gt;Build professional habits&lt;/li&gt;
&lt;li&gt;Prepare for Jobs &amp;amp; internship&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Git is not just a tool.&lt;br&gt;
it is :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A safety net&lt;/li&gt;
&lt;li&gt;A collaboration System&lt;/li&gt;
&lt;li&gt;A time machine of your code&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>git</category>
      <category>github</category>
    </item>
    <item>
      <title>Why Version Control Exists: The Pendrive Problem</title>
      <dc:creator>Abhimanyu Kumar</dc:creator>
      <pubDate>Thu, 01 Jan 2026 08:22:47 +0000</pubDate>
      <link>https://forem.com/abhimanyu_kumar_b94e042e9/why-version-control-exists-the-pendrive-problem-2779</link>
      <guid>https://forem.com/abhimanyu_kumar_b94e042e9/why-version-control-exists-the-pendrive-problem-2779</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Modern developers take version control for granted.&lt;br&gt;
We clone repositories, create branches, commit changes, and push code—all without thinking twice.&lt;br&gt;
But this convenience was born from a time when collaboration was fragile and mistakes were permanent.&lt;/p&gt;

&lt;p&gt;Before Git, teams didn’t share repositories.&lt;br&gt;
They shared &lt;strong&gt;pendrives&lt;/strong&gt;.&lt;br&gt;
And that simple choice created one of the biggest productivity problems in software history.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Version Control Actually Means
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Version control is a system that:&lt;/li&gt;
&lt;li&gt;Keeps a timeline of code changes&lt;/li&gt;
&lt;li&gt;Records who made each change&lt;/li&gt;
&lt;li&gt;Allows recovery of older versions&lt;/li&gt;
&lt;li&gt;Enables multiple developers to work safely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;In short:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Version control gives code a past, a present, and a recoverable future.&lt;br&gt;
But why was this ever needed?&lt;br&gt;
To understand that, we must revisit the **pendrive **era.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Pendrive Workflow Era 🕰️
&lt;/h2&gt;

&lt;p&gt;Imagine a small freelance project with three developers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dev – UI &amp;amp; Styling&lt;/li&gt;
&lt;li&gt;Kunal – Business Logic&lt;/li&gt;
&lt;li&gt;Riya - Bug Fixes &amp;amp; Testing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;They are building a web app and decide to use a **pendrive **to share code.&lt;/p&gt;

&lt;p&gt;There is only one copy of the project at any time.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Realistic Pendrive Example 💾
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: The First Handoff&lt;br&gt;
    Dev creates the basic UI and saves the project on the pendrive.&lt;br&gt;
    📁 web_app/&lt;br&gt;
    He gives the pendrive to Kunal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Logic Added&lt;br&gt;
   Kunal adds authentication and core logic.&lt;br&gt;
   Everything works well on his machine.&lt;br&gt;
   He saves the updated project and hands the pendrive to Riya.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Parallel Work Creates Trouble ⚠️&lt;br&gt;
While Riya is fixing bugs, Dev improves the UI on his local copy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Better layout&lt;/li&gt;
&lt;li&gt;   Cleaner CSS
Dev doesn’t have Kunal’s latest logic changes.
Later, Riya finishes her fixes and gives the pendrive back to Dev.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dev copies the pendrive code and overwrites his folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  💥 What just happened?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Kunal’s logic is gone&lt;/li&gt;
&lt;li&gt;Riya’s fixes are mixed unpredictably&lt;/li&gt;
&lt;li&gt;Dev’s UI changes partially survive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq46b99fmsmy88uuxdku0.png" class="article-body-image-wrapper"&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.amazonaws.com%2Fuploads%2Farticles%2Fq46b99fmsmy88uuxdku0.png" alt=" " width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Worst Part: Nobody Notices Immediately
&lt;/h2&gt;

&lt;p&gt;The app still runs.&lt;br&gt;
So the team assumes everything is fine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Days later:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A feature disappears&lt;/li&gt;
&lt;li&gt;A bug returns&lt;/li&gt;
&lt;li&gt;Someone asks, “Wasn’t this already fixed?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;No one can answer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Who removed it?&lt;/li&gt;
&lt;li&gt; When did it break?&lt;/li&gt;
&lt;li&gt; Can we go back?
The pendrive has no &lt;strong&gt;memory&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Backup Folder Explosion 📂
&lt;/h2&gt;

&lt;p&gt;To avoid losing work again, the team creates backups:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;web_app_backup&lt;br&gt;
web_app_backup_fixed&lt;br&gt;
web_app_backup_final&lt;br&gt;
web_app_backup_final_latest&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Each developer has a different** “final” **version.&lt;/p&gt;

&lt;p&gt;Ironically, backups increase confusion instead of reducing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Problems of the Pendrive Model ❌
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Overwritten Work
Last copy wins, others vanish.&lt;/li&gt;
&lt;li&gt;No Change History
Code changes have no explanation.&lt;/li&gt;
&lt;li&gt;No Accountability
Bugs have no owner.&lt;/li&gt;
&lt;li&gt;No Safe Parallel Work
Only one person can work confidently.&lt;/li&gt;
&lt;li&gt;No Rollback
Mistakes are permanent.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These issues weren’t caused by &lt;strong&gt;careless developers.&lt;/strong&gt;&lt;br&gt;
They were caused by a broken collaboration model.&lt;/p&gt;

&lt;h2&gt;
  
  
  The First Improvement: Tracking Changes 🧠
&lt;/h2&gt;

&lt;p&gt;Developers then imagined a tool that could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save every change&lt;/li&gt;
&lt;li&gt;Attach author &amp;amp; time&lt;/li&gt;
&lt;li&gt;Show differences between versions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This idea solved &lt;strong&gt;visibility&lt;/strong&gt;, but not &lt;strong&gt;coordination&lt;/strong&gt;.&lt;br&gt;
Even with tracking, everyone still worked on separate copies.&lt;/p&gt;

&lt;p&gt;The bigger question became:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which version should everyone trust?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Shift to a Shared Source 🌐
&lt;/h2&gt;

&lt;p&gt;To fix this, teams moved code to a central server.&lt;/p&gt;

&lt;p&gt;Now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Everyone pulled code from one place&lt;/li&gt;
&lt;li&gt;Everyone pushed changes back&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This solved synchronization —but introduced risk.&lt;/p&gt;

&lt;p&gt;If the server failed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Work stopped&lt;/li&gt;
&lt;li&gt;History could be lost&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Collaboration improved, but remained fragile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Distributed Version Control Changed Everything 🔥
&lt;/h2&gt;

&lt;p&gt;The breakthrough idea was simple but powerful:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every developer should have the full project and full history.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This meant:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No single point of failure&lt;/li&gt;
&lt;li&gt;Offline work became possible&lt;/li&gt;
&lt;li&gt;Experiments were safe&lt;/li&gt;
&lt;li&gt;Recovery was guaranteed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of trusting a pendrive or a server, developers trusted &lt;strong&gt;history itself&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Life After Version Control
&lt;/h2&gt;

&lt;p&gt;With proper version control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code stopped disappearing&lt;/li&gt;
&lt;li&gt;Bugs became traceable&lt;/li&gt;
&lt;li&gt;Collaboration scaled naturally&lt;/li&gt;
&lt;li&gt;Developers worked with confidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mistakes became reversible, not catastrophic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Version control was not invented as a &lt;strong&gt;luxury&lt;/strong&gt;.&lt;br&gt;
It was invented because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pendrives failed&lt;/li&gt;
&lt;li&gt;Shared folders failed&lt;/li&gt;
&lt;li&gt;Manual backups failed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Passing files around simply could not support growing teams and growing codebases.&lt;br&gt;
Modern version control systems replaced file sharing with history sharing.&lt;br&gt;
And that single change reshaped software development forever.&lt;br&gt;
If you’ve ever reverted a commit or resolved a conflict, you’re benefiting from lessons learned the hard way—one &lt;strong&gt;pendrive&lt;/strong&gt; at a time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Thought of the Blog is:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Understanding why version control exists makes you more than a tool user.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"It makes you an engineer who understands systems, failures, and evolution."&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
