<?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: Allan Mbugua</title>
    <description>The latest articles on DEV Community by Allan Mbugua (@njenga_allan).</description>
    <link>https://dev.to/njenga_allan</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%2F4083978%2Fdd6b4c3a-6648-48d7-92c6-5532ad68c3e1.png</url>
      <title>DEV Community: Allan Mbugua</title>
      <link>https://dev.to/njenga_allan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/njenga_allan"/>
    <language>en</language>
    <item>
      <title>Github Project Workflow: Local Folder - Github</title>
      <dc:creator>Allan Mbugua</dc:creator>
      <pubDate>Sun, 23 Aug 2026 01:17:48 +0000</pubDate>
      <link>https://dev.to/njenga_allan/github-project-workflow-local-folder-github-10pk</link>
      <guid>https://dev.to/njenga_allan/github-project-workflow-local-folder-github-10pk</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;The world, as we know it, is changing and data is at the center of it all. As a beginner at &lt;em&gt;LuxdevHq&lt;/em&gt;, I will cover &lt;strong&gt;Git&lt;/strong&gt; and &lt;strong&gt;Github&lt;/strong&gt;, how they connect and especially the process to follow when moving a project from Local Folder to Github using Git. This article will showcase my understanding and application of &lt;strong&gt;markdown language&lt;/strong&gt; and &lt;strong&gt;DEV&lt;/strong&gt; as a first time user.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is &lt;strong&gt;Git&lt;/strong&gt; and &lt;strong&gt;Github&lt;/strong&gt;?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; is an open-source control system that can handle any project with speed and efficiency while &lt;strong&gt;Github&lt;/strong&gt; is a staging platform used to store, manage, track and collaborate on software codes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow Process
&lt;/h2&gt;

&lt;p&gt;This is a short process of how a project moves from Local Folder to Github using Git, with examples of commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Confirm that Git account is well configured and test &lt;em&gt;SSH&lt;/em&gt; connection
&lt;/h3&gt;

&lt;p&gt;This done by running; &lt;code&gt;ssh -T git@github.com&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Confirm the folder in use
&lt;/h3&gt;

&lt;p&gt;Run; &lt;code&gt;pwd&lt;/code&gt;&lt;br&gt;
&lt;em&gt;pwd&lt;/em&gt; means Print Working Directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Move into the Desktop folder
&lt;/h3&gt;

&lt;p&gt;Run; &lt;code&gt;cd Desktop&lt;/code&gt;&lt;br&gt;
&lt;em&gt;cd&lt;/em&gt; means Change Directory. &lt;br&gt;
Then run; &lt;code&gt;pwd&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Create the project folder
&lt;/h3&gt;

&lt;p&gt;This depends on the data that is being analyzed. Example of data - Kenya Road Network Analysis. &lt;br&gt;
To create a folder named &lt;em&gt;Kenya Road Network Analysis&lt;/em&gt;.&lt;br&gt;
Run the command; &lt;code&gt;mkdir Kenya Road Network Analysis&lt;/code&gt;&lt;br&gt;
&lt;em&gt;mkdir&lt;/em&gt; means Make Directory. &lt;br&gt;
Then enter the project folder by running; &lt;code&gt;cd Kenya Roads Newtork Analysis&lt;/code&gt;&lt;br&gt;
Finally run; &lt;code&gt;pwd&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Create the structure of the project.
&lt;/h3&gt;

&lt;p&gt;This is done by creating different folders under the folder created before, (Kenya Road Network Analysis), to show the different file. These folders can be; data, codes, dashboard etc. &lt;br&gt;
For practice, create one folder named data. This is done by running; &lt;code&gt;mkdir data&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Create a &lt;em&gt;README&lt;/em&gt;.
&lt;/h3&gt;

&lt;p&gt;The &lt;em&gt;README&lt;/em&gt; explains the project.&lt;br&gt;
Run; &lt;code&gt;touch README.md&lt;/code&gt;&lt;br&gt;
In order to see all the folders created;&lt;br&gt;
Run &lt;code&gt;ls&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Add the data.
&lt;/h3&gt;

&lt;p&gt;The data can either be &lt;strong&gt;copied&lt;/strong&gt; or &lt;strong&gt;moved&lt;/strong&gt; since it is already in the laptop/desktop. &lt;br&gt;
For practice, assuming the data is under the folder &lt;em&gt;Documents&lt;/em&gt; and is named kenya_road_network.xlsx_,     &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;to copy (cp) the data,
run; &lt;code&gt;cp ~/Documents/kenya_road_network.xlsx data/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;to move (mv) the data,
run; &lt;code&gt;mv ~/Documents/kenya_road_network.xlsx data/&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The difference between copying and moving a file is that when a file is &lt;strong&gt;copied&lt;/strong&gt;, a duplicate remains in the original folder. When a file is &lt;strong&gt;moved&lt;/strong&gt;, it is removed from the original folder permanently.&lt;br&gt;
If the filename has spaces ie. kenya road network.xlsx, use quotation marks. Example &lt;br&gt;
run; &lt;code&gt;cp "~/Documents/kenya_road_network.xlsx" data/&lt;/code&gt; &lt;br&gt;
This is done when both copying and moving files.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Adding and Editing files in &lt;em&gt;README.md&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Run; &lt;code&gt;echo "# Kenya Roads Network Analysis" &amp;gt; README.md&lt;/code&gt;&lt;br&gt;
This is one of the methods used to add and edir files and text in &lt;em&gt;README&lt;/em&gt;.&lt;br&gt;
Another way of adding and editing files and text is by running; &lt;code&gt;nano README.md&lt;/code&gt;&lt;br&gt;
&lt;em&gt;nano&lt;/em&gt; is a simple terminal text editor that uses markdown to edit &lt;em&gt;README&lt;/em&gt;.&lt;br&gt;
After editing in nano, press &lt;em&gt;Ctrl + O&lt;/em&gt; then &lt;em&gt;ENTER&lt;/em&gt; to save and confirm the filename then &lt;em&gt;Ctrl + X&lt;/em&gt; to exit.&lt;br&gt;
Finally, run; &lt;code&gt;cat README.md&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Initialize the project
&lt;/h3&gt;

&lt;p&gt;Run;&lt;code&gt;git init&lt;/code&gt;&lt;br&gt;
Result - Initialized empty Git repository in...&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Check Status
&lt;/h3&gt;

&lt;p&gt;Run; &lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
Since this is a new repository, the files may appear as &lt;em&gt;Untracked&lt;/em&gt;.&lt;br&gt;
Untracked files are file that Git is yet to start tracking but are in the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  11. Git Main Areas
&lt;/h3&gt;

&lt;p&gt;These areas are made up of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working Directory&lt;/li&gt;
&lt;li&gt;Staging Area&lt;/li&gt;
&lt;li&gt;Local Git Repository&lt;/li&gt;
&lt;li&gt;Github&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Work Directory to Github Process
&lt;/h3&gt;

&lt;p&gt;Moving from one area to another requires a Git command.&lt;br&gt;
Being in the work directory, with the last command (&lt;code&gt;git status&lt;/code&gt;), we will stage a specific file by running: &lt;code&gt;git add README.md&lt;/code&gt;&lt;br&gt;
This will only stage one file. In order to stage the whole project, run; &lt;code&gt;git add .&lt;/code&gt;&lt;br&gt;
To confirm the project has been staged, run; &lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
All file created will be added.&lt;/p&gt;

&lt;p&gt;Create the first commit by running; &lt;code&gt;git commit -m "Add kenya road network analysis project"&lt;/code&gt;&lt;br&gt;
This creates a Git checkpoint.&lt;/p&gt;

&lt;p&gt;In order to view the commit history, run; &lt;code&gt;git log&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Confirm the branch in use by running; &lt;code&gt;git branch&lt;/code&gt;&lt;br&gt;
It can either be main or master. The branch in use should be main.&lt;br&gt;
If it appears as master, rename by running; &lt;code&gt;git branch -M main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;From here, open Github in the browser and create new Github repository. Enter the title and a simple description. Example;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Title - &lt;em&gt;Kenya Road Network Analysis&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Description - &lt;em&gt;Analysis of all roads networks in Kenya using Excel.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then choose either &lt;em&gt;Public&lt;/em&gt; or &lt;em&gt;Private&lt;/em&gt;.&lt;br&gt;
Finally, create the repository.&lt;/p&gt;

&lt;p&gt;After creating the repository, Github shows connection options, which can be either &lt;em&gt;SSH&lt;/em&gt; or &lt;em&gt;HTTP&lt;/em&gt;. Select the &lt;em&gt;SSH&lt;/em&gt; connection and copy.&lt;br&gt;
Example: &lt;br&gt;
&lt;em&gt;&lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;:USERNAME/kenya-road-network-analysis.git&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Open Git and make sure that the project is still inside by running; &lt;code&gt;pwd&lt;/code&gt;&lt;br&gt;
Then connect Git to Github by running; &lt;code&gt;git remote add origin (github connection)&lt;/code&gt;&lt;br&gt;
That is; &lt;code&gt;git remote add origin git@github.com:USERNAME/kenya-road-network-analysis.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Check the remote by running; &lt;code&gt;git remote -v&lt;/code&gt;&lt;br&gt;
This will result to both &lt;strong&gt;fetch&lt;/strong&gt; (Git can retrieve information from the remote repository) and &lt;strong&gt;push&lt;/strong&gt; (Git can send commits to the remote repository).&lt;br&gt;
Example: &lt;br&gt;
&lt;em&gt;origin &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;:USERNAME/kenya-road-network-analysis.git (fetch)&lt;/em&gt;&lt;br&gt;
&lt;em&gt;origin &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;:USERNAME/kenya-road-network-analysis.git (push)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Finally, push the project to Github by running; &lt;code&gt;git push -u origin main&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Return to Github browser to verify the project.&lt;/p&gt;

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

&lt;p&gt;My experience pushing a project to Github was highly educative, being a first-time user. The process is simple, well-rounded but detailed and can help first-time users navigate Git and Github.&lt;/p&gt;

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