{"slug": "my-first-project-from-a-local-folder-to-github-using-git-and-ssh", "title": "My First Project:From a Local Folder to GitHub Using Git and SSH", "summary": "A developer enrolled in the LuxDev Data Science, Analytics and AI program documented their first experience using Git and SSH to publish a local project to GitHub. The project, named Kenya_Health_Records_Analysis, involved creating a repository, tracking changes with Git, and pushing to GitHub. The developer explained key concepts such as commits, staging, and remotes, and demonstrated commands like git init, git add, and git status.", "body_md": "It's only been two weeks since I enrolled in the **LuxDev Data Science, Analytics and AI program** yet I've already learnt so much!\n\nOne 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 **Git and SSH**.\n\nFor 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.\n\nSo for a start,I decided to document my experience of taking **my first GitHub project from a local folder to GitHub using Git and SSH**.\n\nInterestingly, 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.\n\n**Git** is a version control system which runs in my PC and helps me keep track of changes made to files in a project.\n\nAs 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 **commit**.\n\n**GitHub** is an online platform where repositories from Git can be stored and shared.\n\nGit does not need to work with GitHub as I can use it in my PC without uploading my project elsewhere.\n\nHowever, GitHub becomes useful when I want to:\n\nIn a nutshell, this is the journey the local folder in my PC took to reach Github:\n\n```\nProject folder in my PC\n         `\nTrack changes with Git\n         `\nCommit changes\n         `\nPush to GitHub\n```\n\nI first created my project folder in my PC's file explorer and named it **Kenya_Health_Records_Analysis**.\n\nThen I opened Git Bash and navigated to it using these commands:\n\n```\ncd Desktop\ncd Kenya_Health_Records_Analysis\n```\n\n`cd`\n\n(change directory) is a command that tells Git to enter a file or folder in simple terms.\n\nI then proceeded to add a data and README.md file in the project folder:\n\n```\nmkdir data\ntouch README.md\n```\n\n`mkdir`\n\n(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 `touch`\n\nis used to create files with extensions like .md, .py or .ipynb .\n\nI then copied my *Kenya_Health_Records.csv* dataset and pasted it into the newly created data file in my file explorer.\n\nTo confirm this in Git Bash I ran the `ls`\n\ncommand which lists the contents of a file or folder.\n\nThis is what I could see:\n\n```\nls data\nKenya_Health_Records.csv\n```\n\nThen I went ahead to briefly describe the project in the README.me using the `echo`\n\ncommand:\n\n```\necho \"# Kenya_Health_Records_Analysis\" >README.md\necho \" Using Excel to analyze Kenya health records to uncover,trends,patterns and insights in healthcare data.\" >>README.md\n```\n\n`echo`\n\nprints text while `>`\n\ndirects the text into the README.md file however `>`\n\ncan replace what is already in the README.md file that is why in the next line I used `>>`\n\nwhich adds content below what is already there.\n\nTo view the full README.md I used the `cat`\n\ncommand (which displays the contents of a file in the terminal) and ran `cat README.md`\n\nwhich retrieved:\n\n```\n# Kenya_Health_Records_Analysis\nUsing Excel to analyze Kenya health records to uncover,trends,patterns and insights in healthcare data.\n```\n\nI then ran:\n\n```\ngit init\n```\n\nThis command initializes a new Git repository and Git begins to manage the project. It also added a new hidden `.git`\n\nfile in the project folder.\n\nOne of the most useful Git commands is:\n\n```\ngit status\n```\n\nThis tells me what Git can see or what is happening inside my repo. At first it told me that both the data and `README.md`\n\nwere untracked files meaning that Git had not been told to include them in the project history or to commit.\n\nTo stage both files I used:\n\n```\ngit add .\n```\n\nThe dot tells git to add everything in the current directory.\n\nI then checked the status again using:\n\n```\ngit status\n```\n\nThe files appeared under the changes to be committed.\n\nI then created my first commit:\n\n```\ngit commit -m \"Add Kenya Health Record Analysis\"\n```\n\nThe `-m`\n\nallows me to provide a message that explains what I changed.\n\nHence a commit message can explain what happened at different points in time in the project's history if written clearly.\n\nI then ran:\n\n```\ngit log --oneline\n```\n\nThis retrieved my unique commit ID and my commit message.\n\nAfter 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:\n\n```\nKenya_Health_Records_Analysis\n```\n\nThis 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.\n\nI still needed to connect my local repo to the GitHub repo and **push** the changes and this where an SSH Key comes in.\n\nTo me, it sounded like such a complex tech term but it was actually just a simple concept.\n\n**SSH(Secure Shell)** provides a secure way for my PC to connect with my GitHub account.\n\nSo after creating the repo on GitHub I was given two link options to connect to it;`HTTPS`\n\nand `SSH`\n\n.\n\nSince I then had both my local Git and GitHub respositories, I needed to connect them using a **remote**.\n\nA **remote** is a reference to another repository hosted online.\n\nI then copied the SSH key for my GitHub repository and ran this in Git:\n\n```\ngit remote add origin git@github.com:SMumbi5144/Kenya_Health_Analysis.git\n```\n\n`origin`\n\nis the name given to the remote repository.\n\nThe SSH address:\n\n```\ngit@github.com:SMumbi5144/Kenya_Health_Records_Analysis.git\n```\n\ntells Git where the remote repo is.\n\nTo check if the two repos had connected I ran:\n\n```\ngit remote -v\n```\n\nOnce I had confirmed the two had connected, I pushed my local repo to GitHub by running:\n\n```\ngit push -u origin main\n```\n\n`git push`\n\n- tells Git to upload my commits to a remote repository.\n\n`origin`\n\n- refers to the GitHub repository I had added as my remote.\n\n`-u`\n\n- sets an upstream relationship between my local `main`\n\nbranch and the remote `main`\n\nbranch.\n\nThis was the most exciting part of the process. For a beginner like me, it was quite the journey.\n\nI refreshed my GitHub and I could then see my local project files online.\n\nI could therefore view the project online,share it with others and continue working on it.\n\nWe all make mistakes as we learn and this project was no exception.\n\nTherefore, in order to successfully upload my local files to my GitHub repository I learnt that I should:\n\n`git init`\n\n.`git add .`\n\nelse any changes I make will not be part of my next commit.`git push`\n\n.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.\n\nI 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.\n\nAs 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.\n\nThis first project was the beginning of my journey towards becoming a better data professional.", "url": "https://wpnews.pro/news/my-first-project-from-a-local-folder-to-github-using-git-and-ssh", "canonical_source": "https://dev.to/smumbi_/my-first-projectfrom-a-local-folder-to-github-using-git-and-ssh-407h", "published_at": "2026-08-22 17:59:57+00:00", "updated_at": "2026-08-22 18:13:34.866154+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Git", "GitHub", "SSH", "LuxDev Data Science, Analytics and AI program", "Kenya_Health_Records_Analysis"], "alternates": {"html": "https://wpnews.pro/news/my-first-project-from-a-local-folder-to-github-using-git-and-ssh", "markdown": "https://wpnews.pro/news/my-first-project-from-a-local-folder-to-github-using-git-and-ssh.md", "text": "https://wpnews.pro/news/my-first-project-from-a-local-folder-to-github-using-git-and-ssh.txt", "jsonld": "https://wpnews.pro/news/my-first-project-from-a-local-folder-to-github-using-git-and-ssh.jsonld"}}