<?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: Amandeep Singh</title>
    <description>The latest articles on DEV Community by Amandeep Singh (@learn_n_share).</description>
    <link>https://dev.to/learn_n_share</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F156898%2Fcb6b2837-6fd5-4c04-958d-f4c35c0dfc97.png</url>
      <title>DEV Community: Amandeep Singh</title>
      <link>https://dev.to/learn_n_share</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/learn_n_share"/>
    <language>en</language>
    <item>
      <title>How to Sync a Forked Git Repository (Without Losing Local Changes)</title>
      <dc:creator>Amandeep Singh</dc:creator>
      <pubDate>Sat, 20 Jun 2026 14:13:50 +0000</pubDate>
      <link>https://dev.to/learn_n_share/how-to-sync-a-forked-git-repository-without-losing-local-changes-47bn</link>
      <guid>https://dev.to/learn_n_share/how-to-sync-a-forked-git-repository-without-losing-local-changes-47bn</guid>
      <description>&lt;h2&gt;
  
  
  How to Sync a Forked Git Repository (Without Losing Local Changes)
&lt;/h2&gt;

&lt;p&gt;If you are working on a fork of an open-source project or an organization's central repository, you will frequently need to pull down updates from the original source. &lt;strong&gt;This setup is the most common workflow for individuals contributing to open-source projects&lt;/strong&gt;, where you do not have direct write access to the primary codebase and instead submit contributions via Pull Requests from your fork.&lt;/p&gt;

&lt;p&gt;Here is a quick guide on how to safely switch to your main branch, check for updates, and sync your fork with the upstream repository—all while keeping your local uncommitted work intact.&lt;/p&gt;




&lt;h3&gt;
  
  
  Understanding Remotes: Origin vs. Upstream
&lt;/h3&gt;

&lt;p&gt;When working with a Git fork, your project interacts with two different remote locations on GitHub:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;origin&lt;/code&gt;&lt;/strong&gt;: This points to &lt;strong&gt;your personal fork&lt;/strong&gt; of the repository (e.g., &lt;code&gt;git@github.com:your-username/sundar-gutka-react.git&lt;/code&gt;). You have read and write permissions to this remote, meaning you can push branches, make releases, and work directly here.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;&lt;code&gt;upstream&lt;/code&gt;&lt;/strong&gt;: This points to the &lt;strong&gt;original source repository&lt;/strong&gt; that you forked from (e.g., &lt;code&gt;https://github.com/KhalisFoundation/sundar-gutka-react.git&lt;/code&gt;). You generally only have read permissions here. You fetch official releases and pull updates from &lt;code&gt;upstream&lt;/code&gt; to stay in sync with the central development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Visualizing the flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ┌─────────────────────────────────────────────────────────┐
  │              Upstream (Original Source Repo)            │
  └────────────────────────────┬────────────────────────────┘
                               │
                               │ Fork on GitHub
                               ▼
  ┌─────────────────────────────────────────────────────────┐
  │                 Origin (Your Forked Repo)               │
  └────────────────────────────┬────────────────────────────┘
                               │
                Clone          │           Push &amp;amp;
                Locally        │           Pull Request
                               ▼
  ┌─────────────────────────────────────────────────────────┐
  │                Local Machine (Your Workspace)           │
  └────────────────────────────┬────────────────────────────┘
                               │
                               │  git pull upstream main
                               ▼
                     (Syncing directly to Local)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Upstream Synchronization Scenarios
&lt;/h3&gt;

&lt;p&gt;How you start the sync depends on whether you have previously configured the original parent repository as a remote on your local machine.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;First-Time Sync&lt;/strong&gt;: If you just cloned your fork and have never synced it before, start with &lt;strong&gt;Step A (Initial Remote Setup)&lt;/strong&gt; below, and then follow the workflow.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Subsequent Syncs (Non-First Time)&lt;/strong&gt;: If you have already added the original repo as a remote, you can skip Step A entirely and proceed directly to &lt;strong&gt;Step 1 (Stashing Local Work)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step A: Initial Remote Setup (First-Time Only)
&lt;/h3&gt;

&lt;p&gt;Before you can sync with the original repository, you need to tell Git where it is. You do this by adding a remote pointer, conventionally named &lt;code&gt;upstream&lt;/code&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="c"&gt;# Add the original parent repository as 'upstream'&lt;/span&gt;
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPO.git

&lt;span class="c"&gt;# Verify that both 'origin' (your fork) and 'upstream' (original source) are listed&lt;/span&gt;
git remote &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once the &lt;code&gt;upstream&lt;/code&gt; remote is configured, you are ready to begin the synchronization workflow.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Synchronization Workflow (For Both Cases)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Step 1: Stash Local Modifications (Safety First)
&lt;/h4&gt;

&lt;p&gt;If you have uncommitted changes (like customized environment files, API configs, or local settings) in your workspace, pull conflicts can halt your sync. Clear them safely using Git's stash memory:&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="c"&gt;# Temporarily stash your local uncommitted changes&lt;/span&gt;
git stash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 2: Fetch Metadata &amp;amp; Switch Branch
&lt;/h4&gt;

&lt;p&gt;Fetch the latest commits and branches from both your fork (&lt;code&gt;origin&lt;/code&gt;) and the source (&lt;code&gt;upstream&lt;/code&gt;), and switch to your main branch:&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="c"&gt;# Fetch updates from all remotes&lt;/span&gt;
git fetch &lt;span class="nt"&gt;--all&lt;/span&gt;

&lt;span class="c"&gt;# Switch to the main branch&lt;/span&gt;
git checkout main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 3: Pull Updates from Upstream
&lt;/h4&gt;

&lt;p&gt;Sync your local main branch by pulling down the latest changes directly from the original source's main branch:&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="c"&gt;# Pull upstream changes into your active branch&lt;/span&gt;
git pull upstream main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If your local branch is already up-to-date, Git will return &lt;code&gt;Already up to date.&lt;/code&gt; If there are new changes, Git will fast-forward or merge them.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4: Restore Your Local Work
&lt;/h4&gt;

&lt;p&gt;Finally, bring back your local uncommitted work that you stashed in Step 1:&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="c"&gt;# Apply and delete the latest stashed state&lt;/span&gt;
git stash pop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git will merge your local changes back into the workspace. If there are minor file conflicts, you can resolve them manually.&lt;/p&gt;




&lt;h3&gt;
  
  
  Quick Reference: Commands Used
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git remote add upstream &amp;lt;url&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Configures the original parent repository as a remote&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git fetch --all&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Downloads references and objects from all remotes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git checkout main&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Switches active workspace focus to the main branch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git stash&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Saves dirty workspace state to a stack for later restoration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git pull upstream main&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fetches and merges upstream main branch into local&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git stash pop&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Pops and reapplies stashed changes to active workspace&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>beginners</category>
      <category>git</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>30 Days of Amplify 2024</title>
      <dc:creator>Amandeep Singh</dc:creator>
      <pubDate>Tue, 31 Dec 2024 14:45:29 +0000</pubDate>
      <link>https://dev.to/aws-builders/30-days-of-amplify-2024-3n72</link>
      <guid>https://dev.to/aws-builders/30-days-of-amplify-2024-3n72</guid>
      <description>&lt;p&gt;30 Days of AWS Amplify was a series of virtual and in-person events focused on different aspects of AWS Amplify, the full-stack mobile and web application development toolkit by AWS. The event comprised 9 sessions consisting of 20 talks, 2 workshops, and a hackathon, running from October 26, 2024, to November 25, 2024.&lt;/p&gt;

&lt;p&gt;The event series was organised by various AWS User Groups across India in association with AWS Heroes, AWS Community Builders, and a developer advocate from AWS, Muhammed Salih Guler.&lt;/p&gt;

&lt;h2&gt;
  
  
  Highlights from the Event
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The speakers came from 4 different countries, with 6 speakers from AWS and 13 speakers from local communities.&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%2F2352wv82bnj1o38t3gzb.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%2F2352wv82bnj1o38t3gzb.png" alt="All Speakers - 30 Days of Amplify" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A speaker from Japan (Takuya Kihara, Community Builder from Japan) did their first talk in English&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Each event was streamed live and also made available on-demand. During the live sessions, there was an average of  viewers. The on-demand recordings received an average of 273 views, with the highest-viewed session reaching 592 views and the lowest receiving 154 views.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One of the events was dedicated&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One of the events was in person and there was a talk and workshop during that talk&lt;/p&gt;&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%2Fkzpwbq46t35zfivam2gj.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%2Fkzpwbq46t35zfivam2gj.png" alt="In person event" width="800" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hackathon Winners
&lt;/h2&gt;

&lt;p&gt;During the 30 Days of Amplify, we also had a hackathon to give people a chance to show their creativity by using AWS Amplify. There has been 139 participants to the hackathon and here are the top three projects for the hackathon.&lt;/p&gt;

&lt;p&gt;WINNER! Prescripify - Sumit Grover, Vedant Patil, Vridhi Duggal, Zyphe R09&lt;br&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%2Fwnp51w0gjpz29hudpiti.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%2Fwnp51w0gjpz29hudpiti.png" alt="Winner - 30 Days of Amplify" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From their words: “&lt;a href="https://devpost.com/software/prescripify" rel="noopener noreferrer"&gt;Prescripify&lt;/a&gt;&amp;nbsp;is a web application designed to streamline the process of&amp;nbsp;creating prescriptions for doctors. By leveraging&amp;nbsp;advanced speech-to-text technology, we make it easier and faster for healthcare professionals to focus on patient care. It is a comprehensive platform to&amp;nbsp;seamlessly manage appointments, patients, and prescriptions. Simplify healthcare tasks with an all-in-one solution tailored for doctors and patients.”&lt;/p&gt;

&lt;p&gt;It was really impressive to see the attendees building a great app to fix a problem and improve a process that could be useful for many developers. Congratulations and we are looking forward to seeing what’s next for Prescripify.&lt;/p&gt;

&lt;h3&gt;
  
  
  RUNNER UP #1 - E-Waste-Calculator (Eco-saver-app), Venkata Pavan Vishnu Rachapudi
&lt;/h3&gt;

&lt;p&gt;From his words: "The idea for this project was inspired by the growing global concern over electronic waste (e-waste). As technology continues to evolve rapidly, millions of electronic devices are discarded each year, often ending up in landfills where they can cause harm to the environment. E-waste contains toxic materials like lead, mercury, and cadmium, which can contaminate soil and water.&lt;/p&gt;

&lt;p&gt;I wanted to create a solution that not only helps users dispose of their old electronics responsibly but also encourages them to take positive actions toward sustainability. The goal was to develop an app that tracks e-waste disposal, incentivizes users with eco-points, and promotes eco-friendly behavior through notifications and rewards.”&lt;/p&gt;

&lt;p&gt;Environmentally conscious projects are always great to see. Especially in this time and age when people are looking for ways to reduce their carbon foodprint and they don’t know how. Great work and would like to see you do more with this! &lt;/p&gt;

&lt;h3&gt;
  
  
  RUNNER UP #2 - Stroop Test App - Julian Zhou
&lt;/h3&gt;

&lt;p&gt;From their words: “The Stroop Test, a fundamental psychological experiment, inspired me to create a modern, accessible version that leverages cloud technology. I wanted to bring this classic cognitive test into the digital age, making it available to researchers, students, and curious minds worldwide. The test's simplicity yet profound implications for understanding human cognition made it an ideal candidate for a full-stack web application.”&lt;/p&gt;

&lt;p&gt;This has been a great project to show as an example of a real life research experiment turning into software. Great work! &lt;/p&gt;

&lt;p&gt;We wish all the hackathon attendees a big congratulations and also wish them higher success with their efforts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Team
&lt;/h2&gt;

&lt;p&gt;Thanks to the team, Amandeep Singh, Avinash Dalvi, Ayyanar, Jeyakrishnan, Jones Zachariah Noel N, Logesh, Muhammed Salih Guler, Omshree Butani, Poobalan P, Srushith Repakula, Vishal and Vivek Raja and their endless efforts this was possible. With their efforts the event turned to a success and had positive feedback from the audience. The team has been doing a lot of work for embracing different communities such as frontend and mobile developer communities. We will have more events for AWS Amplify with deeper approach for both online and in person events.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
