<?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>DEV Community: Ctrl Njenga</title>
    <description>The latest articles on DEV Community by Ctrl Njenga (@ctrl_njenga).</description>
    <link>https://dev.to/ctrl_njenga</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%2F3708637%2F2545bef0-1bf8-4c2d-89d7-abfe9ceb8eed.png</url>
      <title>DEV Community: Ctrl Njenga</title>
      <link>https://dev.to/ctrl_njenga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ctrl_njenga"/>
    <language>en</language>
    <item>
      <title>Schemas and Data Modelling in Power BI</title>
      <dc:creator>Ctrl Njenga</dc:creator>
      <pubDate>Mon, 02 Feb 2026 14:22:59 +0000</pubDate>
      <link>https://dev.to/ctrl_njenga/schemas-and-data-modelling-in-power-bi-dfn</link>
      <guid>https://dev.to/ctrl_njenga/schemas-and-data-modelling-in-power-bi-dfn</guid>
      <description>&lt;p&gt;Power BI powered by Microsoft is a business analytics platform that helps you turn data into actionable insights. Data engineers use Power BI primarily to validate data pipelines, monitor ETL performance, prototype semantic models, and deliver high-level dashboards that showcase data quality, lineage, and system health. On the other hand data analysts  use Power BI to connect to, clean, model, and visualize raw data from multiple sources, turning it into interactive reports, dashboards, and actionable business insights.&lt;/p&gt;

&lt;h2&gt;
  
  
  DATA MODELLING
&lt;/h2&gt;

&lt;p&gt;Data modelling in Power BI is the process of organizing, structuring, and connecting your data to make it usable for analysis and reporting.&lt;br&gt;
What It Involves:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Importing/Connecting Data - Involves bringing data from various sources (Excel, databases, web, etc.)&lt;/li&gt;
&lt;li&gt;Creating Relationships - Linking tables together (e.g., connecting Sales to Product via ProductID) and defining how tables interact with each other&lt;/li&gt;
&lt;li&gt;Building Table Structure -Deciding which tables are fact tables (metrics) vs dimension tables (descriptions) and organizing into star or snowflake schemas&lt;/li&gt;
&lt;li&gt;Creating Calculated Columns &amp;amp; Measures -Adding new columns using DAX formulas and creating measures for aggregations (Total Sales, Average Price, etc.)&lt;/li&gt;
&lt;li&gt;Optimizing Performance - Done by doing the following: Removing unnecessary columns, Setting correct data types, Creating hierarchies (Year → Quarter → Month) and Managing cardinality and relationships&lt;/li&gt;
&lt;li&gt;Defining Business Logic - That is by: Setting up date tables for time intelligence, Creating calculated tables and establishing row-level security&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Schemas
&lt;/h2&gt;

&lt;p&gt;A schema is a collection of database objects, including tables, views, and indexes. It defines the structure of the data and the relationships between the different objects. In Power BI, a schema represents a logical grouping of tables that are related to each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two Main Types of Schemas
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Star Schema (Most Common)&lt;/strong&gt;&lt;br&gt;
It contains one central fact table (contains metrics/measurements like sales, quantities, costs) which is then surrounded by multiple dimension tables (these contain descriptive attributes like customer names, product categories, dates)&lt;br&gt;
Each dimension connects directly to the fact table&lt;br&gt;
It is simple, fast, and optimized for reporting&lt;br&gt;
Example:&lt;br&gt;
Fact Table: Sales (Amount, Quantity, Date_ID, Product_ID, Customer_ID)&lt;br&gt;
Dimension Tables: Date, Product, Customer, Store&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%2F0j1w8l6i3675gmtyslq4.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%2F0j1w8l6i3675gmtyslq4.png" alt="Star SChema" width="800" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Snowflake Schema&lt;/strong&gt;&lt;br&gt;
It is similar to star schema but dimension tables are broken into sub-dimensions&lt;br&gt;
Has a more complex structure with dimensions connecting to other dimensions&lt;br&gt;
it is Less common in Power BI because it can slow performance&lt;br&gt;
   Star schemas keep everything in one dimension table (fast, one hop). Snowflake schemas split it across multiple tables (slow, multiple hops). Power BI prefers the simpler star approach.&lt;br&gt;
Example:&lt;br&gt;
Product dimension splits into Product → Category → Subcategory (multiple levels)&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%2For1ydrbxq05cu3z9u1mv.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%2For1ydrbxq05cu3z9u1mv.png" alt="Snowflake Schema" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Schemas Matter in Power BI:
&lt;/h2&gt;

&lt;p&gt;-Performance: A well-designed star schema makes your reports faster because Power BI's engine is optimized for this structure.&lt;br&gt;
-DAX Calculations: Relationships in your schema determine how measures and calculations work. DATEADD, CALCULATE, and other functions rely on proper schema relationships.&lt;br&gt;
-Data Clarity: A good schema makes it easier to understand what data connects where, making report building more intuitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snowflake vs. Star Schema
&lt;/h2&gt;

&lt;p&gt;There are 6 key differences between star schema and snowflake schema:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A star schema has denormalized dimension tables, while a snowflake schema has normalized dimension tables.&lt;/li&gt;
&lt;li&gt;A star schema is easier to design and implement than a snowflake schema.&lt;/li&gt;
&lt;li&gt;A star schema can be more efficient to query than a snowflake schema because there are fewer JOINs between tables.&lt;/li&gt;
&lt;li&gt;A star schema can require more storage space than a snowflake schema, because of the denormalized data.&lt;/li&gt;
&lt;li&gt;A star schema can be more difficult to update than a snowflake schema, because of the denormalized data.&lt;/li&gt;
&lt;li&gt;A star schema can be more difficult to troubleshoot than a snowflake schema, because of the denormalized data&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Importance of Data Modelling in Power BI
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Accuracy
Ensures correct calculations and prevents errors
Filters and relationships work properly across tables&lt;/li&gt;
&lt;li&gt;Performance
Faster report loading and data refresh
Handles large datasets efficiently&lt;/li&gt;
&lt;li&gt;Scalability
Easily accommodates growing data and new sources
Supports business expansion without rebuilding&lt;/li&gt;
&lt;li&gt;Maintainability
Clear structure makes updates simple
Others can understand and work with your model&lt;/li&gt;
&lt;li&gt;Consistency
Single source of truth across all reports
Centralized business logic eliminates conflicting numbers&lt;/li&gt;
&lt;li&gt;User Experience
Simple, intuitive report building
Fast, responsive dashboards
Enables self-service analytics&lt;/li&gt;
&lt;li&gt;Advanced Capabilities
Supports complex DAX calculations
Enables time intelligence and drill-through features&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>analytics</category>
      <category>data</category>
      <category>dataengineering</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Understanding Git</title>
      <dc:creator>Ctrl Njenga</dc:creator>
      <pubDate>Sun, 18 Jan 2026 08:57:04 +0000</pubDate>
      <link>https://dev.to/ctrl_njenga/understanding-git-4bj4</link>
      <guid>https://dev.to/ctrl_njenga/understanding-git-4bj4</guid>
      <description>&lt;h2&gt;
  
  
  Git
&lt;/h2&gt;

&lt;p&gt;Git was created by Linus Torvalds (who also created Linux) in 2005. Git is a command line tool which enables us to keep track of changes in our code, a version control system - software that helps you track changes to files over time. It's especially popular among programmers for managing code, but  not limited to it can also be used for any files.&lt;/p&gt;

&lt;p&gt;Version control is a system that tracks changes to files over time. This lets you go back to earlier versions whenever you need. It's like having a detailed "undo" button that remembers everything, and it also lets you create different versions of your work.&lt;/p&gt;

&lt;p&gt;Hold that thought as we’ll come back to it later, here is what Git does in a nutshell:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enables you to Track changes&lt;/strong&gt;: Git saves different versions of your work, like taking photos of your project at different times. You can see what you changed and go back to an older version if you need to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enables collaboration&lt;/strong&gt;: Multiple people can work on the same project at the same time. Git helps combine everyone's work and figures out what to do when two people change the same thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Works locally&lt;/strong&gt;: Git saves everything on your own computer, so you don't need internet to use it and everything works quickly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Branching&lt;/strong&gt;: You can create separate copies to try out new ideas without messing up your main work, then add them back in when you're ready.&lt;/p&gt;

&lt;p&gt;. Git runs on your computer, but websites like GitHub, GitLab, and Bitbucket let you store your work online so you can share it with others.&lt;/p&gt;

&lt;p&gt;The basic steps are: make changes to your files, choose which changes to save (called "staging"), and then save them with a note about what you changed (called "committing").&lt;/p&gt;

&lt;p&gt;Back to version control, one may ask why is it important? Well I would like to take a different approach and look at why it may not be a good idea to work without it and here is why:&lt;/p&gt;

&lt;p&gt;Without version control, you'd face several frustrating problems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The "Final Version" Nightmare&lt;/strong&gt;&lt;br&gt;
Your folder ends up looking like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;project.doc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_final.doc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_final_v2.doc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_ACTUALLY_final.doc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_final_USE_THIS_ONE.doc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project_final_december_12.doc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You waste time figuring out which is actually the latest version, and you can't easily see what changed between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Lost Work&lt;/strong&gt;&lt;br&gt;
You spend hours on a feature, save over your previous work, then realize your original approach was better. Without version control, that work is gone forever. There's no way to get it back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Collaboration Chaos&lt;/strong&gt;&lt;br&gt;
You and a coworker are both editing the same website. You email files back and forth:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You edit the homepage and email it at 2pm&lt;/li&gt;
&lt;li&gt;Your coworker edits the same homepage (using an old copy) and emails it at 3pm&lt;/li&gt;
&lt;li&gt;Their version overwrites all your changes&lt;/li&gt;
&lt;li&gt;You spend hours trying to manually merge both sets of changes, retyping everything you lost&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. The "What Broke?" Mystery&lt;/strong&gt;&lt;br&gt;
Your app worked fine yesterday but is broken today. Without version control, you have no record of what changed. You can't compare today's code to yesterday's working code, so you're just guessing at what went wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Fear of Experimentation&lt;/strong&gt;&lt;br&gt;
You want to try a risky redesign but you're terrified because there's no safety net. If it doesn't work, you'll have to manually undo everything or lose all your experimental work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. No Accountability&lt;/strong&gt;&lt;br&gt;
In a team, someone introduces a bug but nobody knows who made the change or why, making it much harder to fix and learn from mistakes.&lt;/p&gt;
&lt;h1&gt;
  
  
  Here's how to push code to GitHub:
&lt;/h1&gt;
&lt;h2&gt;
  
  
  First Time Setup (for a new project)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Create a repository on GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to github.com and sign in&lt;/li&gt;
&lt;li&gt;Click the "+" icon in the top right, select "New repository"&lt;/li&gt;
&lt;li&gt;Give it a name, choose public/private, then click "Create repository"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Initialize Git in your project folder&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;your-project-folder
git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Add your files&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(The &lt;code&gt;.&lt;/code&gt; adds all files, or you can specify individual files)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Make your first commit&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Initial commit"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Connect to GitHub&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPO-NAME.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(Replace with your actual GitHub username and repository name)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Push to GitHub&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch &lt;span class="nt"&gt;-M&lt;/span&gt; main
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ongoing Work (after initial setup)
&lt;/h2&gt;

&lt;p&gt;When you make changes and want to push them:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Check what changed&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Stage your changes&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(or &lt;code&gt;git add filename.txt&lt;/code&gt; for specific files)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Commit with a message&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Describe what you changed"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Push to GitHub&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Common issues:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you get authentication errors, you may need to set up a Personal Access Token (GitHub no longer accepts passwords for Git operations)&lt;/li&gt;
&lt;li&gt;If someone else updated the repo, you might need to &lt;code&gt;git pull&lt;/code&gt; first before pushing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's  basically it! Your code is now live on GitHub where others can see it, collaborate, or you can access it from anywhere.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Pulling Code from Github
&lt;/h2&gt;

&lt;p&gt;**&lt;br&gt;
We pull code to get the latest changes that others (or you from another computer) have pushed to GitHub.&lt;br&gt;
Here are the common scenarios:&lt;/p&gt;

&lt;p&gt;Your teammate added new features - pull to get them&lt;br&gt;
You worked on your laptop yesterday and pushed - pull on your desktop today to continue&lt;br&gt;
Before you push your own changes, you need to pull first to avoid conflicts&lt;/p&gt;

&lt;p&gt;Here's how to pull code from GitHub:&lt;/p&gt;
&lt;h2&gt;
  
  
  First Time - Cloning a Repository
&lt;/h2&gt;

&lt;p&gt;If you don't have the code on your computer yet:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Get the repository URL&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the GitHub repository&lt;/li&gt;
&lt;li&gt;Click the green "Code" button&lt;/li&gt;
&lt;li&gt;Copy the HTTPS URL (looks like &lt;code&gt;https://github.com/username/repo-name.git&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Clone it to your computer&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/username/repo-name.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Navigate into the folder&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;repo-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you have the entire project on your computer!&lt;/p&gt;

&lt;h2&gt;
  
  
  Ongoing - Getting Latest Changes
&lt;/h2&gt;

&lt;p&gt;If you already have the code and want to get updates:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Make sure you're in the project folder&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;your-project-folder
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Pull the latest changes&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This downloads and merges any new changes from GitHub into your local copy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pulling from a Specific Branch
&lt;/h2&gt;

&lt;p&gt;If you want changes from a different branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git pull origin branch-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What if You Have Local Changes?
&lt;/h2&gt;

&lt;p&gt;If you've made changes locally and try to pull:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No conflicts&lt;/strong&gt;: Git will try to merge automatically&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conflicts exist&lt;/strong&gt;: Git will tell you which files conflict. You'll need to:

&lt;ol&gt;
&lt;li&gt;Open the conflicting files&lt;/li&gt;
&lt;li&gt;Manually resolve conflicts (Git marks them with &lt;code&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&lt;/code&gt;, &lt;code&gt;=======&lt;/code&gt;, &lt;code&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Stage the resolved files: &lt;code&gt;git add filename&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Commit the merge: &lt;code&gt;git commit -m "Resolved merge conflicts"&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tip&lt;/strong&gt;: If you want to save your local changes but pull cleanly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git stash        &lt;span class="c"&gt;# Temporarily save your changes&lt;/span&gt;
git pull         &lt;span class="c"&gt;# Get updates&lt;/span&gt;
git stash pop    &lt;span class="c"&gt;# Reapply your changes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Tracking changes using Git
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Why You Should Track Changes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;To Undo mistakes easily
If you break something, you can quickly go back to a working version.
2.Keep a record of your work
You'll be able to see what you changed yesterday or last week.
3.Know who made each change
This helps you ask the right person questions when needed.
4.Experiment without risk
Try new ideas knowing you can always return to what worked.
5.Debug problems faster
You can see exactly what changed when something stopped working.
6.Collaborate smoothly
Everyone's work is saved, so no one loses their changes.
Bottom line: Think of it as unlimited undo with notes explaining what you did and why.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to Track Changes Using Git
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Check what changed&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shows which files you modified, added, or deleted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. See specific changes in files&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shows exactly what lines were added or removed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Stage files you want to track&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add filename.txt    &lt;span class="c"&gt;# specific file&lt;/span&gt;
git add &lt;span class="nb"&gt;.&lt;/span&gt;               &lt;span class="c"&gt;# all files&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Save the changes (commit)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Describe what you changed"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. View your history&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shows all past commits with dates, authors, and messages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. See changes in a specific commit&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git show commit-id
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git remembers everything, so you can always go back and see what changed, when, and why.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>git</category>
      <category>softwaredevelopment</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
