<?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: Tonny Muthuri</title>
    <description>The latest articles on DEV Community by Tonny Muthuri (@tonny_muthuri_9556958a78f).</description>
    <link>https://dev.to/tonny_muthuri_9556958a78f</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%2F4070918%2F28771fa6-b897-48ca-b125-db46af085240.png</url>
      <title>DEV Community: Tonny Muthuri</title>
      <link>https://dev.to/tonny_muthuri_9556958a78f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tonny_muthuri_9556958a78f"/>
    <language>en</language>
    <item>
      <title>My First GitHub Project.</title>
      <dc:creator>Tonny Muthuri</dc:creator>
      <pubDate>Sat, 22 Aug 2026 21:47:36 +0000</pubDate>
      <link>https://dev.to/tonny_muthuri_9556958a78f/my-first-github-project-27gp</link>
      <guid>https://dev.to/tonny_muthuri_9556958a78f/my-first-github-project-27gp</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;People, especially beginners, face challenges when making changes to their projects and pushing those changes to Github. Some of the challenges faced include Git command, authentification, configuration etc.&lt;br&gt;
This article aims to explain the process of building a Github project, from creating local directories/folders to uploading the project to Github using Git and secure shell(ssh).&lt;br&gt;
I will use a project titled &lt;strong&gt;Poor Performance in 2025 National Exams&lt;/strong&gt; as a case example to illustrate the steps involved in creating a project.&lt;br&gt;
The process is outlined in the following steps:&lt;/p&gt;
&lt;h3&gt;
  
  
  STEP 1: Creating directories
&lt;/h3&gt;

&lt;p&gt;The first step of a project is to establish a well organized directory structure. This helps keep project files organized logically, making them easier to manage, access and maintain throughout the development process.&lt;br&gt;
We create our project directories within Desktop and OneDrive. &lt;br&gt;
&lt;strong&gt;Desktop&lt;/strong&gt; is basically a special directory used by windows to store files and shortcuts while &lt;strong&gt;OneDrive&lt;/strong&gt; is a microsoft's storage store.&lt;br&gt;
In our case we start by navigating to the desktop directory using Git.&lt;/p&gt;

&lt;p&gt;For example, &lt;code&gt;cd desktop&lt;/code&gt; means 'go to desktop'&lt;br&gt;
Next, Use &lt;strong&gt;&lt;em&gt;ls&lt;/em&gt;&lt;/strong&gt; to list all the directories and files in desktop.&lt;br&gt;
Once you have navigated the desktop directory, Proceed to making your first project directory. &lt;br&gt;
We use &lt;strong&gt;&lt;em&gt;mkdir&lt;/em&gt;&lt;/strong&gt;  commandto create a new directory. &lt;br&gt;
For example,&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;mkdir "Poor-performance-in-2025-National Exam"&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
.&lt;br&gt;
Next, we create additional directories within our newly created project directory. In this case we will create a directory called Data, which will store the datasets required for the analysis.&lt;/p&gt;

&lt;p&gt;For example,&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;mkdir data&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 2: Creating Files
&lt;/h3&gt;

&lt;p&gt;Files are essential part of building a project. In this step, we will create a README.md file.&lt;br&gt;
A README.md gives an overview of the project and describes its purpose, structure and  usage in a clear and understandable way. README.md is written using Markdown language.&lt;br&gt;
we use &lt;strong&gt;&lt;em&gt;touch&lt;/em&gt;&lt;/strong&gt; to create files.&lt;br&gt;
For example,&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;touch README.md&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 3: Printing on README.md
&lt;/h3&gt;

&lt;p&gt;we use &lt;strong&gt;echo&lt;/strong&gt; or &lt;strong&gt;nano&lt;/strong&gt;to add content on README.md file and to describe our project.&lt;br&gt;
In our case example, we will add project title and an overview.&lt;br&gt;
*Using echo&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;echo "# Poor Performance in 2025 National Exam" &amp;gt; README.md&lt;br&gt;
    echo "# Project Overview" &amp;gt;&amp;gt; README.md&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;&amp;gt;&lt;/strong&gt; operator overwrites the file, while &lt;strong&gt;&amp;gt;&amp;gt;&lt;/strong&gt; adds content to the existing file without deleting what is already there.&lt;/p&gt;

&lt;p&gt;*using nano README.md&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# Poor performance in 2025 National Exams&lt;br&gt;
    ## Project Overview&lt;br&gt;
       This project aims to identify key factors that led to poor academic performance in 2025.&lt;br&gt;
    ## Tools Used&lt;br&gt;
      -Excel&lt;br&gt;
      -Power Bi&lt;br&gt;
      -Python&lt;br&gt;
     ## Challenges Faced&lt;br&gt;
      -Missing Data&lt;br&gt;
      -Outliers&lt;br&gt;
      -Duplicates&lt;br&gt;
      -Data Accessibility&lt;br&gt;
      -Unstructured data&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 4: Commit the project
&lt;/h3&gt;

&lt;p&gt;A commit is a saved checkpoint in the history of repository. It records all the changes that have been made at a particular point in time.&lt;br&gt;
First, we stage all eligible changes.&lt;br&gt;
Using:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit add.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Once the changes have been staged,we save them as a commit and give a commit message.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit -m " Add Poor performance in 2025 National Exam Analysis"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The -m in our command allows us to provide a message describing the changes included in the commit.&lt;br&gt;
To view the history of commits in our repository we use:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;or to show our commit in a short format&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log --oneline&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 5: Checking and Connecting Git to Github
&lt;/h3&gt;

&lt;p&gt;Github is an online platform where Git repositories can be stored and shared.&lt;br&gt;
To securely connect Git to Github, we need to usea Secure shell(ssh). SSH is typically a protocal used to create secure connection between Git and Github.&lt;br&gt;
To check whether ssh keys already exists before generating one use:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ls -al ~/.ssh&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;If a SSH key does not already exist, Generate ed25519 ssh key from the Git using:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh-keygen -t ed25519 -C "tonnymuthuri6@gmail.com"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Git generates two keys:&lt;br&gt;
                      -public key &lt;br&gt;
                      -private key&lt;br&gt;
Copy the public one.&lt;br&gt;
&lt;/p&gt;

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

&lt;p&gt;Add the copied ssh to your Github (Setings &amp;gt; ssh and gpg keys).&lt;br&gt;
Fill in the ssh key form:&lt;br&gt;
          &lt;strong&gt;Title&lt;/strong&gt;- give the key a descriptive name&lt;br&gt;
          &lt;strong&gt;Key type&lt;/strong&gt;- choose authentication key&lt;br&gt;
          &lt;strong&gt;Key&lt;/strong&gt;- paste the copied public ssh key here&lt;br&gt;
Then click add ssh key.&lt;br&gt;
To test the ssh connection you need to return to GitBash and run:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh-T git@github.com&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  STEP 6: Connecting Git repository to a remote repository
&lt;/h3&gt;

&lt;p&gt;Open the Github and create a new repository. Once the repository has been created, copy the ssh.&lt;br&gt;
We can then connect our local repository to a remote repository using this command:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git remote add origin "paste the ssh here"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To check the remote repositories connected to our local Git repository we use this command:&lt;br&gt;
&lt;/p&gt;

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

&lt;p&gt;The final stepis to push (sending changes from Git to Github)&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push -u origin main&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The command uploads the created commits from our local &lt;strong&gt;main&lt;/strong&gt; branch to the Github repository called &lt;strong&gt;Origin&lt;/strong&gt;&lt;br&gt;
The final step is to refresh your github.  &lt;/p&gt;

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