<?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: Philip Wamai</title>
    <description>The latest articles on DEV Community by Philip Wamai (@wamai_p).</description>
    <link>https://dev.to/wamai_p</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%2F4071725%2Fd33a2c24-f27f-414d-8dc1-497f8647e096.jpg</url>
      <title>DEV Community: Philip Wamai</title>
      <link>https://dev.to/wamai_p</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wamai_p"/>
    <language>en</language>
    <item>
      <title>My First Github Project: From a Local Folder to Github Using Git and SSH</title>
      <dc:creator>Philip Wamai</dc:creator>
      <pubDate>Sun, 23 Aug 2026 16:19:20 +0000</pubDate>
      <link>https://dev.to/wamai_p/my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-2f32</link>
      <guid>https://dev.to/wamai_p/my-first-github-project-from-a-local-folder-to-github-using-git-and-ssh-2f32</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Work that exists in one place is work you can lose. Git records the history of a project as you continue building it, and GitHub is the server where you keep a copy of the project online, and SSH is what you use to make the exchange securely. In this article is my account of connecting all three for the first time. &lt;/p&gt;

&lt;h2&gt;
  
  
  Git, Github, and SSH
&lt;/h2&gt;

&lt;p&gt;Git is a program that tracks changes inside a project folder. GitHub is a website that holds a copy of your repository, so it's a backup, and also it can be shared. In this copying of your project content to Github from your local machine, delivery can be a problem. In an example of sending a letter to someone, the post office must confirm you are who you claim to be, and the letter shouldn't be readable in transit. SSH (Secure Shell) does both. Your private key is the ID you possess, and the public key is what GitHub keeps to itself to check against. &lt;/p&gt;

&lt;h3&gt;
  
  
  Creating your SSH key
&lt;/h3&gt;

&lt;p&gt;Open your Git Bash terminal and put in these commands. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ssh-keygen -t ed25519 -C "&lt;a href="mailto:your_email@example.com"&gt;your_email@example.com&lt;/a&gt;"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this section it's where you will set your paraphrase.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;cat ~/.ssh/id_ed25519.pub&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This outputs where your public key is and is what you will paste in the GitHub account's Profile/Settings/SSH and GPG keys.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ssh -T &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This command confirms you have set your key correctly in your GitHub account.&lt;/p&gt;

&lt;h3&gt;
  
  
  Preparing the Address
&lt;/h3&gt;

&lt;p&gt;Here you create an empty repository on GitHub because I would need an address to deliver the letter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Commands to run locally in your Git Bash
&lt;/h3&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;folderName
&lt;span class="nb"&gt;cd &lt;/span&gt;folderName
&lt;span class="nb"&gt;touch &lt;/span&gt;README.md
git init
git add &lt;span class="nb"&gt;.&lt;/span&gt;
git status
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"message"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Addressing and Sending
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch &lt;span class="nt"&gt;-M&lt;/span&gt; main
git remote add origin git@github.com:user/repo.git
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Challenges and what went wrong
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Forgot my paraphrase, and I had to make a new SSH key and readd it&lt;/li&gt;
&lt;li&gt;Ran into a problem using the Nano and Vim editor when it came to saving and exiting&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Git helped me solve the problem of recording every change I made, and GitHub hosted a copy of my project's content, and SSH helped me connect them securely without typing passwords every time&lt;/p&gt;

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