<?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: Stacy Mumbi</title>
    <description>The latest articles on DEV Community by Stacy Mumbi (@smumbi_).</description>
    <link>https://dev.to/smumbi_</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%2F4071797%2Fad6f237c-97c0-4a01-aa2d-8024c09f823c.png</url>
      <title>DEV Community: Stacy Mumbi</title>
      <link>https://dev.to/smumbi_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/smumbi_"/>
    <language>en</language>
    <item>
      <title>My First Project:From a Local Folder to GitHub Using Git and SSH</title>
      <dc:creator>Stacy Mumbi</dc:creator>
      <pubDate>Sat, 22 Aug 2026 17:59:57 +0000</pubDate>
      <link>https://dev.to/smumbi_/my-first-projectfrom-a-local-folder-to-github-using-git-and-ssh-407h</link>
      <guid>https://dev.to/smumbi_/my-first-projectfrom-a-local-folder-to-github-using-git-and-ssh-407h</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It's only been two weeks since I enrolled in the &lt;strong&gt;LuxDev Data Science, Analytics and AI program&lt;/strong&gt; yet I've already learnt so much!&lt;br&gt;
One of the first things I've been able to learn is how to take a project from a local folder in my PC and publish it to GitHub using &lt;strong&gt;Git and SSH&lt;/strong&gt;.&lt;br&gt;
For someone who is still building their skills in data and tech,terms like repositories,commits,staging,remotes and SSH keys were new to me at first. Working on my first project helped me understand these commands and  also what happens behind the scenes.&lt;/p&gt;

&lt;p&gt;So for a start,I decided to document my experience of taking &lt;strong&gt;my first GitHub project from a local folder to GitHub using Git and SSH&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;What are Git and GitHub?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Interestingly, I learnt that Git and GitHub are not the same thing. This is why understanding what each of them means became a very important step in my project.&lt;/p&gt;
&lt;h3&gt;
  
  
  Git
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; is a version control system which runs in my PC and helps me keep track of changes made to files in a project.&lt;br&gt;
As I work,I might change my code,update my analysis,add new files or fix mistakes. Git lets me keep track of the changes I make over time instead of having multiple edited copies of the same file. Each saved version is called a &lt;strong&gt;commit&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  GitHub
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt; is an online platform where repositories from Git can be stored and shared.&lt;br&gt;
Git does not need to work with GitHub as I can use it in my PC without uploading my project elsewhere.&lt;br&gt;
However, GitHub becomes useful when I want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep a back up of my projects online&lt;/li&gt;
&lt;li&gt;Show potential employers what I can do&lt;/li&gt;
&lt;li&gt;Share my work &lt;/li&gt;
&lt;li&gt;Collaborate with others &lt;/li&gt;
&lt;li&gt;Build a portfolio &lt;/li&gt;
&lt;li&gt;Contribute to open-source projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In a nutshell, this is the journey the local folder in my PC took to reach Github:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Project folder in my PC
         `
Track changes with Git
         `
Commit changes
         `
Push to GitHub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 1: Create the Project Files
&lt;/h3&gt;

&lt;p&gt;I first created my project folder in my PC's file explorer and named it   &lt;strong&gt;Kenya_Health_Records_Analysis&lt;/strong&gt;.&lt;br&gt;
Then I opened Git Bash and navigated to it using these commands:&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;Desktop
&lt;span class="nb"&gt;cd &lt;/span&gt;Kenya_Health_Records_Analysis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;cd&lt;/code&gt;(change directory) is a command that tells Git to enter a file or folder in simple terms. &lt;br&gt;
I then proceeded to add a data and README.md file in the 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;data
&lt;span class="nb"&gt;touch &lt;/span&gt;README.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;mkdir&lt;/code&gt;(make directory) is used to create a new file or folder from the Git Bash terminal but notice I did not use it to create the README.md file because &lt;code&gt;touch&lt;/code&gt; is used to create files with extensions like .md, .py or .ipynb .&lt;br&gt;
I then copied my &lt;em&gt;Kenya_Health_Records.csv&lt;/em&gt; dataset and pasted it into the newly created data file in my file explorer.&lt;br&gt;
To confirm this in Git Bash I ran the &lt;code&gt;ls&lt;/code&gt; command which lists the contents of a file or folder. &lt;br&gt;
This is what I could see:&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;ls &lt;/span&gt;data
Kenya_Health_Records.csv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I went ahead to briefly describe the project in the README.me using the &lt;code&gt;echo&lt;/code&gt; command:&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;echo&lt;/span&gt; &lt;span class="s2"&gt;"# Kenya_Health_Records_Analysis"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;README.md
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;" Using Excel to analyze Kenya health records to uncover,trends,patterns and insights in healthcare data."&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;README.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;echo&lt;/code&gt; prints text while &lt;code&gt;&amp;gt;&lt;/code&gt;directs the text into the README.md file however &lt;code&gt;&amp;gt;&lt;/code&gt; can replace what is already in the README.md file that is why in the next line I used &lt;code&gt;&amp;gt;&amp;gt;&lt;/code&gt; which adds content below what is already there.&lt;br&gt;
To view the full README.md I used the &lt;code&gt;cat&lt;/code&gt; command (which displays the contents of a file in the terminal) and ran &lt;code&gt;cat README.md&lt;/code&gt; which retrieved:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Kenya_Health_Records_Analysis&lt;/span&gt;
Using Excel to analyze Kenya health records to uncover,trends,patterns and insights in healthcare data.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Turning the Folder into a Git Repository
&lt;/h3&gt;

&lt;p&gt;I then ran:&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;This command initializes a new Git repository and Git begins to manage the project. It also added a new hidden &lt;code&gt;.git&lt;/code&gt; file  in the project folder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Checking the Status of My Project
&lt;/h3&gt;

&lt;p&gt;One of the most useful Git commands is:&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;This tells me what Git can see or what is happening inside my repo. At first it told me that both the data and &lt;code&gt;README.md&lt;/code&gt; were  untracked files meaning that Git had not been told to include them in the project history or to commit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Staging the Files
&lt;/h3&gt;

&lt;p&gt;To stage both files I used:&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 dot tells git to add everything in the current directory.&lt;br&gt;
I then checked the status again using:&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;The files appeared under the changes to be committed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Creating My First Commit
&lt;/h3&gt;

&lt;p&gt;I then created my first commit:&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;"Add Kenya Health Record Analysis"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;-m&lt;/code&gt; allows me to provide a message that explains what I changed.&lt;br&gt;
Hence a commit message can explain what happened at different points in time in the project's history if written clearly.&lt;br&gt;
I then ran:&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;p&gt;This retrieved my unique commit ID and my commit message.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Creating a GitHub Repository
&lt;/h3&gt;

&lt;p&gt;After creating the project locally, I went to GitHub and created a new repository and named it the same way I had in my File Explorer:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;This would become an online version of my local Git repository. I also learnt that even though I created the repo and named it the same way,it does not automatically upload my local files.&lt;br&gt;
I still needed to connect my local repo to the GitHub repo and &lt;strong&gt;push&lt;/strong&gt; the changes and this where an SSH Key comes in.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 7: Defining an SSH Key
&lt;/h3&gt;

&lt;p&gt;To me, it sounded like such a complex tech term but it was actually just a simple concept.&lt;br&gt;
&lt;strong&gt;SSH(Secure Shell)&lt;/strong&gt; provides a secure way for my PC to connect with my GitHub account.&lt;br&gt;
So after creating the repo on GitHub I was given two link options to connect to it;&lt;code&gt;HTTPS&lt;/code&gt; and &lt;code&gt;SSH&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 8: Connecting my Local Repository to GitHub
&lt;/h3&gt;

&lt;p&gt;Since I then had both my local Git and GitHub respositories, I needed to connect them using a &lt;strong&gt;remote&lt;/strong&gt;.&lt;br&gt;
A &lt;strong&gt;remote&lt;/strong&gt; is a reference to another repository hosted online.&lt;br&gt;
I then copied the SSH key for my GitHub repository and ran this in 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 remote add origin git@github.com:SMumbi5144/Kenya_Health_Analysis.git
&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.&lt;br&gt;
The SSH address:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git@github.com:SMumbi5144/Kenya_Health_Records_Analysis.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;tells Git where the remote repo is.&lt;br&gt;
To check if the two repos had connected I ran:&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;h3&gt;
  
  
  Step 9: Pushing the Project to GitHub
&lt;/h3&gt;

&lt;p&gt;Once I had confirmed the two had connected, I pushed my local repo to GitHub by running:&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;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;git push&lt;/code&gt; - tells Git to upload my commits to a remote repository.&lt;br&gt;
&lt;code&gt;origin&lt;/code&gt; - refers to the GitHub repository I had added as my remote.&lt;br&gt;
&lt;code&gt;-u&lt;/code&gt; - sets an upstream relationship between my local &lt;code&gt;main&lt;/code&gt; branch and the remote &lt;code&gt;main&lt;/code&gt; branch.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 10: Seeing My Project on GitHub
&lt;/h3&gt;

&lt;p&gt;This was the most exciting part of the process. For a beginner like me, it was quite the journey.&lt;br&gt;
I refreshed my GitHub and I could then see my local project files online.&lt;br&gt;
I could therefore view the project online,share it with others and continue working on it.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I learnt to Avoid
&lt;/h3&gt;

&lt;p&gt;We all make mistakes as we learn and this project was no exception.&lt;br&gt;
Therefore, in order to successfully upload my local files to my GitHub repository I learnt that I should:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Not forget to initialize Git using &lt;code&gt;git init&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Not forget to stage files using &lt;code&gt;git add .&lt;/code&gt; else any changes I make will not be part of my next commit.&lt;/li&gt;
&lt;li&gt;Never assume commit means upload, to send to GitHub I ought to use &lt;code&gt;git push&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Avoid using unclear commit messages since they will not help me understand the project history easily.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;My first project taught me more than just a few commands. It taught me patience and the importance of paying attention to detail and being systematic since a command will only work efficiently if the correct  command is used. These are very important qualities for a data professional to develop so as to enhance the quality of their work.&lt;/p&gt;

&lt;p&gt;I also learnt some cool concepts such as how a version control system works, how an SSH Key can connect my PC to GitHub and  how I can manage and share my projects. &lt;/p&gt;

&lt;p&gt;As I continue developing my skills at and outside LuxDev Academy, GitHub will help me document my projects and build a portfolio that shows what I can do.&lt;/p&gt;

&lt;p&gt;This first project was the beginning of my journey towards becoming a better data professional.&lt;/p&gt;

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