<?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: Khadija sajid</title>
    <description>The latest articles on DEV Community by Khadija sajid (@khadija_sajid).</description>
    <link>https://dev.to/khadija_sajid</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%2F1884163%2F6cc6c8bd-b10a-4dbf-98e5-d1afcd3827cf.jpg</url>
      <title>DEV Community: Khadija sajid</title>
      <link>https://dev.to/khadija_sajid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/khadija_sajid"/>
    <language>en</language>
    <item>
      <title>The Git &amp; GitHub Guide I Wish I Had Before Losing My University Project</title>
      <dc:creator>Khadija sajid</dc:creator>
      <pubDate>Tue, 02 Jun 2026 01:01:36 +0000</pubDate>
      <link>https://dev.to/khadija_sajid/the-git-github-guide-i-wish-i-had-before-losing-my-university-project-285d</link>
      <guid>https://dev.to/khadija_sajid/the-git-github-guide-i-wish-i-had-before-losing-my-university-project-285d</guid>
      <description>&lt;p&gt;&lt;strong&gt;I Lost My University Project a Few Hours Before Demo Day — That’s How I Learned Git&lt;/strong&gt;&lt;br&gt;
A few years ago, I learned one of the most important lessons of my software engineering journey the hard way.&lt;/p&gt;

&lt;p&gt;Just a few hours before my university project exhibition, I was fixing what seemed like a small bug. Instead of solving the problem, I accidentally corrupted a significant portion of my project's backend files.&lt;/p&gt;

&lt;p&gt;I had no backup.&lt;/p&gt;

&lt;p&gt;No version history.&lt;/p&gt;

&lt;p&gt;No recovery plan.&lt;/p&gt;

&lt;p&gt;At that time, Git and GitHub were just words I had heard from senior developers. I never thought I needed them.&lt;/p&gt;

&lt;p&gt;That day, I could only demonstrate the frontend of my project while the backend remained broken.&lt;/p&gt;

&lt;p&gt;The experience taught me something every developer eventually learns:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your code is not truly safe until it is version-controlled.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This article is the guide I wish I had back then.&lt;/p&gt;


&lt;h1&gt;
  
  
  What Is Git?
&lt;/h1&gt;

&lt;p&gt;Git is a distributed version control system.&lt;/p&gt;

&lt;p&gt;In simple terms, Git tracks changes in your project over time.&lt;/p&gt;

&lt;p&gt;Think of it as a timeline for your code.&lt;/p&gt;

&lt;p&gt;Instead of saving files like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;project-final&lt;/li&gt;
&lt;li&gt;project-final-v2&lt;/li&gt;
&lt;li&gt;project-final-v2-latest&lt;/li&gt;
&lt;li&gt;project-final-v2-latest-actual-final&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git maintains a complete history of every meaningful change.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Recover deleted code&lt;/li&gt;
&lt;li&gt;Compare versions&lt;/li&gt;
&lt;li&gt;Collaborate with others&lt;/li&gt;
&lt;li&gt;Experiment safely&lt;/li&gt;
&lt;li&gt;Track project history&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  What Is GitHub?
&lt;/h1&gt;

&lt;p&gt;Many beginners think Git and GitHub are the same thing.&lt;/p&gt;

&lt;p&gt;They are not.&lt;/p&gt;

&lt;p&gt;Git = Version control software running on your computer.&lt;/p&gt;

&lt;p&gt;GitHub = Cloud platform that hosts Git repositories.&lt;/p&gt;

&lt;p&gt;Think of it this way:&lt;/p&gt;

&lt;p&gt;Git is your notebook.&lt;/p&gt;

&lt;p&gt;GitHub is the cloud storage where that notebook is safely stored and shared.&lt;/p&gt;


&lt;h1&gt;
  
  
  Why Every Developer Needs Git
&lt;/h1&gt;

&lt;p&gt;Imagine these situations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You accidentally delete important code.&lt;/li&gt;
&lt;li&gt;A new feature breaks everything.&lt;/li&gt;
&lt;li&gt;Your laptop crashes.&lt;/li&gt;
&lt;li&gt;A teammate introduces a bug.&lt;/li&gt;
&lt;li&gt;You want to return to a previous working version.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without Git:&lt;/p&gt;

&lt;p&gt;You panic.&lt;/p&gt;

&lt;p&gt;With Git:&lt;/p&gt;

&lt;p&gt;You simply restore a previous commit.&lt;/p&gt;


&lt;h1&gt;
  
  
  Installing Git
&lt;/h1&gt;

&lt;p&gt;Windows:&lt;/p&gt;

&lt;p&gt;Download Git from the official Git website.&lt;/p&gt;

&lt;p&gt;Verify installation:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git version 2.x.x
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Creating Your First Repository
&lt;/h1&gt;

&lt;p&gt;Create a project folder:&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;mkdir &lt;/span&gt;my-project
&lt;span class="nb"&gt;cd &lt;/span&gt;my-project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Initialize Git:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Initialized empty Git repository
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git is now tracking this folder.&lt;/p&gt;




&lt;h1&gt;
  
  
  Understanding the Git Workflow
&lt;/h1&gt;

&lt;p&gt;Most beginners struggle because they don't understand Git's three stages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working Directory
&lt;/h2&gt;

&lt;p&gt;Where you create and edit files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Staging Area
&lt;/h2&gt;

&lt;p&gt;Where you prepare changes for saving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;

&lt;p&gt;Where Git permanently stores snapshots.&lt;/p&gt;

&lt;p&gt;Workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Edit Files
     ↓
git add
     ↓
Staging Area
     ↓
git commit
     ↓
Repository History
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Your First Commit
&lt;/h1&gt;

&lt;p&gt;Create a file:&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;touch &lt;/span&gt;app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check status:&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;Stage the file:&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 app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Commit changes:&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;Congratulations.&lt;/p&gt;

&lt;p&gt;You have created your first checkpoint.&lt;/p&gt;




&lt;h1&gt;
  
  
  Essential Git Commands
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Check Status
&lt;/h2&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:&lt;/p&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;h2&gt;
  
  
  View History
&lt;/h2&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;Displays all commits.&lt;/p&gt;

&lt;p&gt;Compact view:&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;span class="nt"&gt;--oneline&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Compare Changes
&lt;/h2&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 what changed before committing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Remove File from Staging
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git restore &lt;span class="nt"&gt;--staged&lt;/span&gt; filename
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Understanding Branches
&lt;/h1&gt;

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

&lt;p&gt;Imagine building a new feature without touching the main project.&lt;/p&gt;

&lt;p&gt;That's exactly what branches allow.&lt;/p&gt;

&lt;p&gt;Create 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 branch login-feature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch 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 checkout login-feature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Modern shortcut:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Create and switch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git switch &lt;span class="nt"&gt;-c&lt;/span&gt; login-feature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Why Branches Matter
&lt;/h1&gt;

&lt;p&gt;Without branches:&lt;/p&gt;

&lt;p&gt;You experiment directly on production code.&lt;/p&gt;

&lt;p&gt;With branches:&lt;/p&gt;

&lt;p&gt;You can make mistakes safely.&lt;/p&gt;

&lt;p&gt;Professional developers rarely work directly on the main branch.&lt;/p&gt;




&lt;h1&gt;
  
  
  Merging Branches
&lt;/h1&gt;

&lt;p&gt;After finishing a feature:&lt;/p&gt;

&lt;p&gt;Switch to main:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Merge feature:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Git combines both histories.&lt;/p&gt;




&lt;h1&gt;
  
  
  Understanding Merge Conflicts
&lt;/h1&gt;

&lt;p&gt;Conflicts occur when two versions modify the same lines.&lt;/p&gt;

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

&lt;p&gt;Developer A changes line 10.&lt;/p&gt;

&lt;p&gt;Developer B changes line 10.&lt;/p&gt;

&lt;p&gt;Git cannot decide automatically.&lt;/p&gt;

&lt;p&gt;You must manually choose which version to keep.&lt;/p&gt;

&lt;p&gt;This is normal.&lt;/p&gt;

&lt;p&gt;Even experienced engineers handle merge conflicts regularly.&lt;/p&gt;




&lt;h1&gt;
  
  
  Connecting Git to GitHub
&lt;/h1&gt;

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

&lt;p&gt;Connect local repository:&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 repository-url
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify:&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 &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Push Code to GitHub
&lt;/h1&gt;



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

&lt;/div&gt;



&lt;p&gt;Your code is now stored online.&lt;/p&gt;

&lt;p&gt;This single command could have saved my university project years ago.&lt;/p&gt;




&lt;h1&gt;
  
  
  Clone Existing Repositories
&lt;/h1&gt;

&lt;p&gt;Copy a repository:&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 repository-url
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git downloads the entire project history.&lt;/p&gt;




&lt;h1&gt;
  
  
  Pull Latest Changes
&lt;/h1&gt;



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

&lt;/div&gt;



&lt;p&gt;Updates your local project.&lt;/p&gt;




&lt;h1&gt;
  
  
  Forking Open Source Projects
&lt;/h1&gt;

&lt;p&gt;Forking creates your own copy of someone else's repository.&lt;/p&gt;

&lt;p&gt;Typical workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork repository&lt;/li&gt;
&lt;li&gt;Clone fork&lt;/li&gt;
&lt;li&gt;Create branch&lt;/li&gt;
&lt;li&gt;Make changes&lt;/li&gt;
&lt;li&gt;Push changes&lt;/li&gt;
&lt;li&gt;Open Pull Request&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is how many developers contribute to open source.&lt;/p&gt;




&lt;h1&gt;
  
  
  Pull Requests
&lt;/h1&gt;

&lt;p&gt;A Pull Request (PR) is a request to merge changes.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Code review&lt;/li&gt;
&lt;li&gt;Discussion&lt;/li&gt;
&lt;li&gt;Collaboration&lt;/li&gt;
&lt;li&gt;Quality assurance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Professional teams rely heavily on PRs.&lt;/p&gt;




&lt;h1&gt;
  
  
  Git Ignore
&lt;/h1&gt;

&lt;p&gt;Some files should never be tracked.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;API keys&lt;/li&gt;
&lt;li&gt;Build files&lt;/li&gt;
&lt;li&gt;Temporary files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Create:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.gitignore
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node_modules/
.env
dist/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Commit Message Best Practices
&lt;/h1&gt;

&lt;p&gt;Bad:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fixed stuff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Good:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Add user authentication system
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Great commits tell a story.&lt;/p&gt;

&lt;p&gt;Future you will appreciate them.&lt;/p&gt;




&lt;h1&gt;
  
  
  GitHub Features Every Developer Should Use
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Issues
&lt;/h2&gt;

&lt;p&gt;Track bugs and tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Projects
&lt;/h2&gt;

&lt;p&gt;Manage development workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discussions
&lt;/h2&gt;

&lt;p&gt;Community conversations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Actions
&lt;/h2&gt;

&lt;p&gt;Automate testing and deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Releases
&lt;/h2&gt;

&lt;p&gt;Publish stable versions.&lt;/p&gt;




&lt;h1&gt;
  
  
  GitHub Actions
&lt;/h1&gt;

&lt;p&gt;GitHub can automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run tests&lt;/li&gt;
&lt;li&gt;Build projects&lt;/li&gt;
&lt;li&gt;Deploy applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every time code is pushed.&lt;/p&gt;

&lt;p&gt;This is called CI/CD.&lt;/p&gt;

&lt;p&gt;A basic workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Test Project&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;push&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;

    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v4&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Common Beginner Mistakes
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Not Committing Frequently
&lt;/h2&gt;

&lt;p&gt;Commit small changes often.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working Only on Main
&lt;/h2&gt;

&lt;p&gt;Use feature branches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Forgetting .gitignore
&lt;/h2&gt;

&lt;p&gt;Never upload secrets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ignoring Pull Requests
&lt;/h2&gt;

&lt;p&gt;Code reviews improve quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  No Remote Backup
&lt;/h2&gt;

&lt;p&gt;Always push to GitHub.&lt;/p&gt;




&lt;h1&gt;
  
  
  From Beginner to Professional
&lt;/h1&gt;

&lt;p&gt;A beginner uses Git to save code.&lt;/p&gt;

&lt;p&gt;An intermediate developer uses Git to collaborate.&lt;/p&gt;

&lt;p&gt;An advanced engineer uses Git to manage complex software systems.&lt;/p&gt;

&lt;p&gt;The commands are important.&lt;/p&gt;

&lt;p&gt;The mindset is more important.&lt;/p&gt;

&lt;p&gt;Version control is not about memorizing commands.&lt;/p&gt;

&lt;p&gt;It is about building with confidence.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;The day I lost my university project taught me a lesson I will never forget.&lt;/p&gt;

&lt;p&gt;Git is not just a developer tool.&lt;/p&gt;

&lt;p&gt;GitHub is not just a website.&lt;/p&gt;

&lt;p&gt;Together, they form a safety net that protects your work, enables collaboration, and gives you the confidence to experiment without fear.&lt;/p&gt;

&lt;p&gt;If you are learning software development today, start using Git and GitHub immediately.&lt;/p&gt;

&lt;p&gt;Trust me.&lt;/p&gt;

&lt;p&gt;It is far better to learn from this article than from losing a project a few hours before demo day.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>techtalks</category>
      <category>software</category>
    </item>
    <item>
      <title>AWS Bedrock</title>
      <dc:creator>Khadija sajid</dc:creator>
      <pubDate>Tue, 26 May 2026 06:47:25 +0000</pubDate>
      <link>https://dev.to/khadija_sajid/aws-bedrock-28bg</link>
      <guid>https://dev.to/khadija_sajid/aws-bedrock-28bg</guid>
      <description>&lt;p&gt;Last December, I delivered a talk on AWS Bedrock at AWS Community Day. The main purpose of this talk is to differentiate between traditional AI and Generative AI, and how it makes a difference to the world, and AWS Bedrock enables us to use different models with different capabilities.&lt;br&gt;
First, I explain generative AI and now how almost in every application Generative AI is used and the common challenges a developer face while building an application where they need more then one model for different capabilities as they jump from one plateform to other for using other models as different models have diffenent capabilities For example, for coding developer preffer Anthropic modes, for explaination open AI models work amazing and many other models for different capabilites.&lt;br&gt;
AWS Bedrock solves this problem by offering multiple models from different companies.&lt;br&gt;
I attach some of the companies' models that AWS Bedrock offers :&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%2F7w1snyms2uwi56291jh1.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%2F7w1snyms2uwi56291jh1.png" alt=" " width="800" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are a couple of reasons developers should use AWS Bedrock :&lt;br&gt;
● The developer doesn’t have to jump from one platform to another for different models&lt;br&gt;
● They don’t have to worry about the infrastructure; AWS manages all for you.&lt;br&gt;
● The best part, which I like, is that your data is not being used for model training, so you can use different models with ease of mind.&lt;/p&gt;

&lt;p&gt;Now the question is how developers can use these models in their application or test the capabilities, Soo mainly there are three ways to use or test the model:&lt;br&gt;
● AWS CLI&lt;br&gt;
● Bedrock API&lt;br&gt;
● Playground&lt;/p&gt;

&lt;p&gt;How AWS Bedrock works. Here is the simplest workflow:&lt;br&gt;
User Prompt&lt;br&gt;
Amazon Bedrock&lt;br&gt;
AI Model&lt;br&gt;
Generated Response&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%2F8bn3j30zyax55keb0e0f.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%2F8bn3j30zyax55keb0e0f.png" alt=" " width="529" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most developers use the API Call method, where they directly use the model by API Call:&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%2Fhr6ntvjexsjhang5ikut.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%2Fhr6ntvjexsjhang5ikut.png" alt=" " width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now the next Question is how to choose the right model, it all depends on the use case and requirements:&lt;br&gt;
● Model Type &amp;amp; Multimodal Capabilities&lt;br&gt;
● Performance &amp;amp; Latency Requirements&lt;br&gt;
● Model Size &amp;amp; Context Window&lt;br&gt;
● Customization Needs&lt;br&gt;
● Licensing &amp;amp; Commercial Use&lt;/p&gt;

&lt;p&gt;If you have any queries about AWS Bedrock, let me know in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>api</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Understanding AWS EC2: Workflow, Terminologies, and Cloud Computing Basics</title>
      <dc:creator>Khadija sajid</dc:creator>
      <pubDate>Thu, 22 Jan 2026 17:06:08 +0000</pubDate>
      <link>https://dev.to/khadija_sajid/understanding-aws-ec2-workflow-terminologies-and-cloud-computing-basics-5b2d</link>
      <guid>https://dev.to/khadija_sajid/understanding-aws-ec2-workflow-terminologies-and-cloud-computing-basics-5b2d</guid>
      <description>&lt;p&gt;Aiming to develop and build large-scale applications or advanced systems often requires high computational resources such as increased RAM, CPU cores, storage, and networking capabilities. Purchasing personal or on-premise servers to meet these requirements is extremely expensive and difficult to scale.&lt;br&gt;
This is where cloud computing comes into play. Cloud computing allows us to rent computing resources on demand, meaning we can use as many resources as needed and pay only for what we use. This approach is far more cost-effective and flexible than buying and maintaining physical servers.&lt;br&gt;
Amazon Web Services (AWS) is one of the leading cloud service providers and offers a wide range of services such as EC2, S3, and many others.&lt;br&gt;
Elastic Compute Cloud (EC2) is a core AWS service that provides virtual machines in the cloud.&lt;br&gt;
In cloud terminology, a virtual machine is called an instance. AWS offers multiple instance types, allowing users to choose hardware configurations based on their requirements. For example, t2.micro is a free-tier eligible instance commonly used by beginners and first-time users.&lt;br&gt;
After selecting the instance type (hardware), we choose the software configuration using an Amazon Machine Image (AMI). An AMI is a preconfigured template that includes an operating system and optional software. It can be used directly or customized according to application needs.&lt;br&gt;
The EC2 workflow starts by selecting networking, hardware (instance type), and software (AMI). After configuring storage, networking, and security, the instance is launched as a virtual machine. Developers then connect to the instance via SSH to deploy applications. EC2 instances can be scaled vertically (by changing instance size) or horizontally (by adding more instances) and managed throughout their lifecycle based on application needs.&lt;br&gt;
In summary, EC2 provides scalable, flexible, and cost-effective virtual computing resources, making it an essential service in cloud computing.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>cloudnative</category>
      <category>automation</category>
    </item>
    <item>
      <title>How AWS Makes Life Easier for Students (and Powers Netflix &amp; Instagram!)</title>
      <dc:creator>Khadija sajid</dc:creator>
      <pubDate>Tue, 26 Aug 2025 10:15:53 +0000</pubDate>
      <link>https://dev.to/khadija_sajid/how-aws-makes-life-easier-for-students-and-powers-netflix-instagram-4ib2</link>
      <guid>https://dev.to/khadija_sajid/how-aws-makes-life-easier-for-students-and-powers-netflix-instagram-4ib2</guid>
      <description>&lt;p&gt;Ever wondered how Instagram or Netflix never crash, even with millions of users?&lt;br&gt;
As a computer science student, I’ve always been curious about how technology works behind the scenes. That curiosity led me to discover AWS (Amazon Web Services), the hidden power source that keeps apps running, data updated worldwide, and services customized at scale.&lt;br&gt;
What makes AWS so exciting is that it isn’t just for big tech companies; it’s also for students like us. AWS provides free credits so we can experiment without spending money. You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Host a personal website&lt;/li&gt;
&lt;li&gt;Build projects&lt;/li&gt;
&lt;li&gt;Practice machine learning &lt;/li&gt;
&lt;li&gt;Run heavy code even if your laptop is slow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, AWS removes many of the challenges we face as students. Limited storage? Use AWS cloud space. Want to take your project live? Host it in minutes. Worried about data loss? AWS keeps it secure.&lt;br&gt;
Here’s a quick breakdown of its core services: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compute&lt;/strong&gt; → The “brain” where apps run &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage&lt;/strong&gt; → An online hard drive to keep files safe &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Databases&lt;/strong&gt; → Store &amp;amp; organize information &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Networking&lt;/strong&gt; → Connect everything like roads in a city &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI &amp;amp; ML tools&lt;/strong&gt; → Try image recognition, speech-to-text, and more—without building from scratch.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt; → Protects your data at every step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, the next time you use Netflix, Instagram, or any large-scale app, remember—AWS is working silently in the background.&lt;br&gt;
 And the best part? You and I can explore the same technology today. Has anyone here tried AWS credits for student projects? &lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudnative</category>
      <category>techcommunity</category>
      <category>awsforstudents</category>
    </item>
  </channel>
</rss>
