<?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: Wanjira Njeri</title>
    <description>The latest articles on DEV Community by Wanjira Njeri (@wanjira01).</description>
    <link>https://dev.to/wanjira01</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%2F4071785%2Fade3b32a-8bb8-4ae4-8209-215fcfbe3bbd.png</url>
      <title>DEV Community: Wanjira Njeri</title>
      <link>https://dev.to/wanjira01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wanjira01"/>
    <language>en</language>
    <item>
      <title>My First GitHub Project: From a Local Folder to GitHub Using Git and SSH</title>
      <dc:creator>Wanjira Njeri</dc:creator>
      <pubDate>Sat, 22 Aug 2026 15:33:40 +0000</pubDate>
      <link>https://dev.to/wanjira01/my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-4fpb</link>
      <guid>https://dev.to/wanjira01/my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-4fpb</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;For my first GitHub project, I chose to create a simple &lt;strong&gt;Personal Expense Tracker&lt;/strong&gt;. The idea is to keep my expenses organized and eventually use data analysis to understand where my money goes. The project can contain an Excel file for recording expenses, a Python script for analysis and a &lt;code&gt;README.md&lt;/code&gt; file explaining the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Opening directories
&lt;/h3&gt;

&lt;p&gt;Open Gitbash and run &lt;code&gt;ssh -T git@github.com&lt;/code&gt; to confirm that my Git successfully connected to Github.&lt;/p&gt;

&lt;p&gt;Run &lt;code&gt;pwd&lt;/code&gt; to confirm my current location.This will show the home directory.&lt;br&gt;
Run &lt;code&gt;ls&lt;/code&gt; to list the files and folders in my current directory.&lt;br&gt;
Now move to the desktop by running &lt;code&gt;cd Desktop&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Create the Project Folder
&lt;/h3&gt;

&lt;p&gt;The project I am working on is Personal-Expense-Tracker&lt;/p&gt;

&lt;p&gt;Start by creating a folder for the project on my computer and navigating into it by running,&lt;br&gt;
&lt;code&gt;mkdir personal-expense-tracker&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Move into the folder I created by running,&lt;br&gt;
&lt;code&gt;cd personal-expense-tracker&lt;/code&gt;&lt;br&gt;
I now create more folders in my current directory,&lt;br&gt;
&lt;code&gt;mkdir data&lt;br&gt;
mkdir scripts&lt;/code&gt;&lt;br&gt;
I then create a file by running &lt;code&gt;README.md&lt;/code&gt; where I will explain the content of the entire project.&lt;/p&gt;

&lt;p&gt;I could create and add information to the file using the format &lt;code&gt;"echo Personal expense tracker"&amp;gt;README.md&lt;/code&gt;&lt;br&gt;
I can then check the contents using&lt;br&gt;
&lt;code&gt;cat README.md&lt;/code&gt;&lt;br&gt;
If I need to make further changes, I can open the file using&lt;br&gt;
&lt;code&gt;nano README.md&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Initialising Git
&lt;/h3&gt;

&lt;p&gt;After preparing my project,I initialise Git inside the project folder.&lt;br&gt;
I do this by running&lt;br&gt;
&lt;code&gt;git init&lt;/code&gt;&lt;br&gt;
I then check the repository to see what files Git could detect by running&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
After confirming that I am working in the correct project folder, I add my project files to the staging area&lt;br&gt;
&lt;code&gt;git add .&lt;/code&gt;&lt;br&gt;
The files are now ready to be saved. I creat my first commit with a message describing what I have added&lt;br&gt;
&lt;code&gt;git commit -m "Add personal expense tracker project"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The commit acts as a checkpoint, so I have a record of the project at that particular stage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connecting the Project to GitHub Using SSH
&lt;/h3&gt;

&lt;p&gt;The next step is to create an empty repository on GitHub. I then connect my local repository to the GitHub repository using its SSH address&lt;br&gt;
&lt;code&gt;git remote add origin git@github.com:USERNAME/personal-expense-tracker.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here &lt;em&gt;origin&lt;/em&gt; is simply the name given to the remote GitHub repository. I can check that the connection is successful using&lt;br&gt;
&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The SSH method allows my local Git repository to communicate with the GitHub repository using the SSH connection configured for my GitHub account. &lt;/p&gt;

&lt;p&gt;Finally, I push my project to GitHub&lt;br&gt;
&lt;code&gt;git branch -M main&lt;br&gt;
git push -u origin main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The first push connects my local &lt;code&gt;main&lt;/code&gt; branch with the &lt;code&gt;main&lt;/code&gt; branch on GitHub. After this, I can normally use just &lt;code&gt;git push&lt;/code&gt; for future updates. &lt;/p&gt;

&lt;h3&gt;
  
  
  Making Future Updates
&lt;/h3&gt;

&lt;p&gt;If I later add new features, such as a Python script that calculates my monthly spending or update my Excel analysis, I don't have to repeat the entire process. I simply follow the normal Git workflow,&lt;br&gt;
&lt;code&gt;git status&lt;br&gt;
git add .&lt;br&gt;
git commit -m "Update expense analysis"&lt;br&gt;
git push&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I can check what has changed, stage the changes, commit them as a checkpoint and then push them to GitHub. &lt;/p&gt;

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

&lt;p&gt;This exercise helped me understand that GitHub is not just a place where I upload files. Git allows me to track the development of my project locally while GitHub gives me a remote place to store and share that project. Using Git with SSH gives me a practical way to move a project from my computer to GitHub and continue updating it as I work on it.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>data</category>
    </item>
  </channel>
</rss>
