<?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: Margaret</title>
    <description>The latest articles on DEV Community by Margaret (@maggiecodes).</description>
    <link>https://dev.to/maggiecodes</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%2F3464808%2F2787d719-04b4-4b26-bb88-3e02f856206e.png</url>
      <title>DEV Community: Margaret</title>
      <link>https://dev.to/maggiecodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maggiecodes"/>
    <language>en</language>
    <item>
      <title>git: how to keep a forked repo up-to-date with original</title>
      <dc:creator>Margaret</dc:creator>
      <pubDate>Wed, 25 Mar 2026 09:00:35 +0000</pubDate>
      <link>https://dev.to/maggiecodes/git-how-to-keep-a-forked-repo-up-to-date-with-original-l9i</link>
      <guid>https://dev.to/maggiecodes/git-how-to-keep-a-forked-repo-up-to-date-with-original-l9i</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;When working with open-source projects on GitHub, it is common practice to &lt;strong&gt;fork&lt;/strong&gt;, or create a copy of, the original repository. This allows you to make changes without affecting the original repository. However, you need to make sure that your fork is up-to-date with the original repository to avoid any conflicts when you want to merge your changes back into the original repository. Below are the best practices to keep your fork synchronised with the original repository using Git on the command line.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A GitHub account&lt;/li&gt;
&lt;li&gt;A forked repository cloned to your computer&lt;/li&gt;
&lt;li&gt;Command line&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;On the command line, verify that you are in your project repository.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;pwd&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check your current remote repository configuration&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To synchronise your fork with the original repository you must configure the original as an upstream repository of your fork. If you do not have an upstream configured, the output from &lt;code&gt;git remote -v&lt;/code&gt; will be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   origin &amp;lt;fork-repo-url&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;fetch&lt;span class="o"&gt;)&lt;/span&gt;
   origin &amp;lt;fork-repo-url&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;push&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;origin&lt;/code&gt; is the name given to the remote repository from which your local repository was cloned.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;fork-repo-url&lt;/code&gt; is the URL of your forked repository.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In your web browser, open the original repository on GitHub, click on the green &lt;strong&gt;Code&lt;/strong&gt; button and copy the repository URL from the HTTPS tab.&lt;/li&gt;
&lt;/ol&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%2Fts2r2vtqvtrycxfiwsrq.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%2Fts2r2vtqvtrycxfiwsrq.png" title="Example using the GitHub docs repository" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;On the command line, add the remote upstream repository&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git remote add upstream https://github.com/original-repo-owner/original-repo.git&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Verify the new &lt;code&gt;upstream&lt;/code&gt; has been added&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The output will now be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   origin &amp;lt;fork-repo-url&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;fetch&lt;span class="o"&gt;)&lt;/span&gt;
   origin &amp;lt;fork-repo-url&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;push&lt;span class="o"&gt;)&lt;/span&gt;
   upstream &amp;lt;original-repo-url&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;fetch&lt;span class="o"&gt;)&lt;/span&gt;
   upstream &amp;lt;original-repo-url&amp;gt; &lt;span class="o"&gt;(&lt;/span&gt;push&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Fetch the latest changes from the remote upstream repository&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git fetch upstream&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Checkout the main branch.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git checkout main&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rebase the changes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git rebase upstream/main&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Push the updated branch to your repository fork&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;git push origin main&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;Your forked repository is now up-to-date with the original repository.&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>tutorial</category>
      <category>cli</category>
    </item>
    <item>
      <title>Curiosity and My Journey In Science and Tech</title>
      <dc:creator>Margaret</dc:creator>
      <pubDate>Sat, 14 Mar 2026 15:07:14 +0000</pubDate>
      <link>https://dev.to/maggiecodes/curiosity-and-my-journey-in-science-and-tech-3bdn</link>
      <guid>https://dev.to/maggiecodes/curiosity-and-my-journey-in-science-and-tech-3bdn</guid>
      <description>&lt;p&gt;I've always had a very inquisitive mind. I love learning new things, creating things, figuring out how things work, why problems have happened and how they can be fixed. It's what drew me to study science, and the fascinating world of microbiology, at university. While there, a friend introduced me to Linux and the Ubuntu OS. My laptop at the time was old and struggling a bit with certain tasks. Installing Ubuntu, and learning to play around with the command line, gave it a new lease of life and sparked my curiosity.&lt;/p&gt;

&lt;p&gt;Fast-forward a number of years to a career in quality control (QC) labs. I was continually finding ways to improve how we were tracking tasks, schedules, sharing 'tribal' information, etc.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I learned how to get the most out of Excel with formulas, macros, a little bit of VBA - removing the need for manually copying the same information multiple times into different sheets, reducing the risk of human-induced errors, simplifying the process of editing/updating information and reports; simplifying tracking tasks and schedules, using the raw data to identify areas that needed improvement; performing analysis on raw data.&lt;/li&gt;
&lt;li&gt;I learned how to work with MS Sharepoint-MS Teams ecosystem for file sharing, scheduling, creating controlled access and permissions for different users, automating notifications and emails, creating user interface webpages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;During part of this time I was working a 24/7 rotating shift. The hours were long, night shifts were tough on the body and sleep schedule but, the downtime gave me the opportunity to explore my interest in computers and technology. I signed up to do a postgraduate course in Software Development. I learned about computer architecture, databases, web development, networking, Java, Javascript, Typescript, HTML, CSS. I learned lots of new, interesting things.&lt;/p&gt;

&lt;p&gt;My career in QC continued, I was predominately analysing data, writing technical documents and managing projects.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I learned how to use JMP statistical software to clean raw data imported from excel - remove duplicates,blanks etc, fix typos so information was properly categorised, concatenate data to create new columns etc; create simply JMP scripts to manipulate the data more efficiently and effectively.&lt;/li&gt;
&lt;li&gt;I learned how to use MS Project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I took a career break for personal reasons. During my time off I've taken time to revisit coding and technical writing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I've taking some online courses.&lt;/li&gt;
&lt;li&gt;I've built a simple portfolio site.&lt;/li&gt;
&lt;li&gt;I've built some projects to practice the things I've been learning.&lt;/li&gt;
&lt;li&gt;I've contributed to some open source documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My natural curiosity drew me to science, my education in the sciences taught me to think in a certain way, to solve problems in a structured manner, to observe, document, learn, improve. My journey into the world of coding added a new dimension to the way I think, create, solve problems, communicate information. Each step along the way has added to my strengths and abilities. I love , solving problems, creating things, looking at data, breaking down complex concepts into simpler, accessible, user-friendly documentation.&lt;/p&gt;

&lt;p&gt;I'm excited to see what my next role will be.&lt;/p&gt;

</description>
      <category>techjourney</category>
      <category>sciencejourney</category>
      <category>technicalwriting</category>
      <category>data</category>
    </item>
  </channel>
</rss>
