Pushing a Project To GitHub
Tags: devops, programming, github, git
Published: 2024-03-07 17:01:03





What is GitHub?        

Introduction        

1. Create Your GitHub Account        

2. Set Up Git Locally        

3. Initializing Project        

4. Creating a ‘.gitignore.’ File        

5. Adding Files to the Staging Area        

6. Making First Commit        

7. Creating a GitHub Repository        

9. Pushing Your First Commit.        

10. Verifying on GitHub        

11. Branching and Collaboration        

12. Handling Changes        

Conclusion        

References and Resources        


What is GitHub?
GitHub is a for profit company that offers a cloud-based Git repository for developers to store, manage, track, control and collaborate with other developers. GitHub allows members of the team to be able to access the code, make edits or changes of the code that any member can see.

Introduction
GitHub is a free real time cloud-based service for small and large projects. Software development requires version control more than we think, we can say that it is the backbone of all development. In order to control these software we need a place to store, track and be able to edit them as they are available to us, hence GitHub is one of the best stores for our codes. GitHub is the platform that we need to control versions and for collaborative development. If you are stepping up in the world of programming, pushing your first project to GitHub is a critical skill. In this article we will guide you on the key steps of initiating your project repository and making that initial push in a seamless manner.


Create Your GitHub Account
Before getting deeper into details of technical activities, we are going to first create an account so that we can be familiar with it. If you don’t have an account yet you can click here and follow the steps on creating a new GitHub account. You are required to have a unique username.


Set Up Git Locally

To get started with the technical part we will have to install the Git in our machine if we haven’t for our process to be effective. By doing so, it sets a good stage for our control versions and GitHub repository. You can copy the code below and paste it on your terminal, it will install and set up Git in your machine.


$ sudo apt-get update

$ sudo apt-get install git




Initializing Project
 On your new project root directory on your machine, initialize Git. Use the code below, you can copy and paste it on your terminal.


$ git init




Creating a ‘.gitignore.’ File
This is done in order to make sure that Git is able to determine which files or directories to ignore. The code for creating ‘.gitignore.’ is as shown below, copy and paste it on your terminal. You can add entries for files such as ‘node_modules’ , build artifacts, or any sensitive information.


$ touch .gitignore




Adding Files to the Staging Area
Inorder to push the code file to the repository, it is important for us to perform this task. We will use the ‘git add’ command to stage our files for the next commit. This will ensure that all files are staged.


$ git add .


You can replace ‘.’ with specific file names for selective staging.


Making First Commit
To commit the staged files, you must do this using a meaningful commit message. You can use the one I have provided in my example below or you can create a message for yourself.


$ git commit -m “initial commit: first commit”


Creating a GitHub Repository
Now we have to create a new repository for our project. What we need is to log in in our GitHub account, go to the repository, then create a new repository. Note that you should not initialize the repository with a README or add ‘.gitignore’ or license because we already did that locally in stage three.

Connecting Local Repository to GitHub
Now it is the time to link up our newly created repository in the previous stage to the local repository. We will use the command below to do that, copy and paste it in your machine terminal.


$ git remote add origin  https://github.com/mkwasi5830/myportfolio.git


Make sure you replace the URL with your GitHub repository URL.


Pushing Your First Commit.
It is the time to push the committed changes to our GitHub repository. The command below is used to push the changes to the repository.


$ git push -u origin master


It is important to note that the ‘-u’ flag sets up tracking, linking the local 'master’ branch with the remote ‘origin’.


Verifying on GitHub
This stage involves making sure that the committed files are visible in our GitHub repository. It requires you to log in to your GitHub account, to the created repository and check whether all the project’s files are present.


Branching and Collaboration
Branching is a GitHub process that makes features or bugs are fixed to keep ‘master’ branches clean. Collaboration is an activity of interacting with other team members involved in a project to make sure they are able to pull their changes, resolving conflicts if any, and enabling you to to push any contribution.


Handling Changes
This is after technical activity that is done to make sure your project’s file is up to date or to make any changes that may arise due to new versions.  Inorder to handle these changes the entire procedure is repeated, that is, adding, committing, and pushing. Below is an overview code of how it is done.


$ git add .

$ git commit -m “Feature: Implemented project”

$ git push



Conclusion
Pushing a project to GitHub is a technical skill that every developer should master. It may seem easy and simple but it is an important skill in the vast landscape of software development. This article has taken you through essential version control to your workflow, ensuring code integrity and collaboration. As you ship this adventure, it is important to know that GitHub is not just a repository hosting platform, but a community where ideas flourish, and projects come to life. The knowledge and skills you have acquired through this article will be the foundation for more advanced Git and GitHub features.


In conclusion, the ability to push a code to GitHub is not just a technical skill, but a testament to  your commitment to effective collaboration, continual improvement and the shared chase of excellence in coding.



References and Resources
GitHub Documentation
[GitHub Guides](https://github.com/git-guides) - official GitHub guides for getting started and mastering Git and GitHub
Pro Git Book
[Pro Git Book](https://git-scm.com/book) - the official Pro Git Book by Scott Chacon and Ben Straub,its available online for free.
GitHub Learning Lab
[GitHub Learning Lab](https://github.com/apps/github-learning-lab) - Interactive courses provided by GitHub to learn Git and GitHub in a hands-on manner.


For more Tutorials and enquiries follow me on:

[GitHub](https://github.com/mkwasi5930)

[LinkedIn](https://www.linkedin.com/in/abednego-mutuku-a91935236?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app)

[Twitter](https://twitter.com/mkwasi_?t=_P1YiYUIZDRtiAMg5hC1nQ&s=09)