DEV Community

Cover image for Master the Essentials of Git and GitHub in Just 20 Minutes
Chukwuemeka Abuba
Chukwuemeka Abuba

Posted on

Master the Essentials of Git and GitHub in Just 20 Minutes

What is Version Control?

Version Control, also known as source control, is the practice of tracking and managing changes to files. Version control systems are systems that record changes to a file over time so that you can record versions of it later. Some of the popular version control systems is Git which is a popular control system/software.

Now, let’s move to git…

What is git?

Git is a version-control system that is used to track changes in computer files. Git is used for tracking code changes, Tracking who made changes, and Coding Collaborations. To get started with git, you need to first go to the and download and install the software.

Okay, now let’s move to GitHub

What is GitHub?

GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. For you to use GitHub, you need to go to and sign up for an account

Getting interesting right? Now, let’s move to the main business of the day

Git Work Flow
Image description

4 fundamentals of git workflow

  1. Working Directory
  2. Staging Area
  3. Local Repository
  4. Remote Repository

Now, there are three states in the file in your working directory:

  • It can be staged: This simply means that any updates made on your files can be staged and ready to be committed.

  • It can be modified: Here, we are simply saying that those changes made on the files have not yet being stored on the local repository( repo in short form).

  • It can be committed: Those changes you made to your files can be stored in the local repository.

I hope it is getting more interesting. Don’t worry, there is still time remaining. Let’s keep learning!

Now let’s learn the basic git commands

$ git init
Enter fullscreen mode Exit fullscreen mode

This will make git to be aware of the folder.

$ git status
Enter fullscreen mode Exit fullscreen mode

This will show the status of the files that are to be staged or modified.

$ git add
Enter fullscreen mode Exit fullscreen mode

This will add a file that is in the working directory to the staging area.

$ git commit
Enter fullscreen mode Exit fullscreen mode

What this does is to keep track of our code base. It is basically used to add all files that are staged to the local repository.

$ git push
Enter fullscreen mode Exit fullscreen mode

This is used to push our code from our local machine to GitHub. Here, all the committed files in the local repository are moved to the remote repository.

$ git fetch
Enter fullscreen mode Exit fullscreen mode

This is used to get files from the remote repository to the local repository.

$ git merge
Enter fullscreen mode Exit fullscreen mode

This is used to get files from the local repository into the working directory.

$ git pull

Enter fullscreen mode Exit fullscreen mode

This is used to get files from the remote repository into the working directory. It does the joint work of git fetch and git merge. So instead of doing git fetch and git merge, you can simply just do a git pull.

Now, let’s not make this too boring. Let’s create your first repo together with just these few steps

Step 1: Create a git hub account

Simply click on this link and create one. If you already have one, move to step two genie.

Step 2: Check if git is installed on your computer

To do this, type the following commands:

$ git -- version
Enter fullscreen mode Exit fullscreen mode

If you have git already, it will show you the version you have installed.

Step 3: Set up your identity

Set your username and email address. This information is very important because whenever you make a Commit, git uses your identity (username and password) and it's immutably baked into the commits you start creating. To achieve this, you type the following commands.

$ git config –global user.name “Rose Abuba”
$ git config –global user. Email “roseabuba@outlook.com
$ git config --global –list # to check the data provided 
Enter fullscreen mode Exit fullscreen mode

Step 4: Create a repo

Create a new repository on GitHub. Move to your GitHub account and create a new repo by clicking on the new button and selecting Create Repository (you can name your repo anything you wish). After doing this, you will see a list of options for pushing a new repository or an already existing repository.

Step 5: Create a folder and file

Now, create a file and open it with any code editor of your choice. Then open your terminal. To create a file on your terminal, type the commands below.

$ touch Index.html
Enter fullscreen mode Exit fullscreen mode

Step 6: Initialize git

You do this by typing the commands below

$ git init
Enter fullscreen mode Exit fullscreen mode

Step 7: Staging of files for Commit

Type the following commands:

$ git add . 
Enter fullscreen mode Exit fullscreen mode

This adds all the files in the local repository and stages them for commit

$ git add Index.html
Enter fullscreen mode Exit fullscreen mode

To add a specific file Before we commit our files, let’s check the status of our files

$ git status
Enter fullscreen mode Exit fullscreen mode

Step 7: Commit changes to your git Repository

$ git commit -m "First Commit"
Enter fullscreen mode Exit fullscreen mode

Add a remote origin and Push

To update the changes you have made to the main branch because it won’t be automatically updated on Git hub. All those changes are in the local Repository.

$ git remote add origin remote_repository_URL
Enter fullscreen mode Exit fullscreen mode

To list connections with other repositories, type the following commands:

$ git remote -v 

Enter fullscreen mode Exit fullscreen mode

This will list the URLS of the remote connections you have with other repositories

Step 9: Push Changes made from your local repository to the remote repository.

Type the following command:

$ git push -u origin main #pushes changes to origin
Enter fullscreen mode Exit fullscreen mode

The next thing is to refresh. If you followed the above steps, you will see that your codes have been successfully pushed to GitHub.

HI Genie! If you followed up this far, You are one step to Collaboration! People can now view your code online. All you need to do is to share your repo link and you are good to go!

Note that each time you make changes on your local repository and you want it to reflect on your Github, These following commands are the most common command flow used.

$ git add .
$ git status
$ git commit -m "Second Commit"
$ git push -u origin main
Enter fullscreen mode Exit fullscreen mode

In case you want to work with other people’s repositories on Github, you can clone their repos. To do this, type the following commands.

$ git clone remote_repository_URL
Enter fullscreen mode Exit fullscreen mode

Now let’s move to collaboration

When you work with a team, That is, for example, a group of developers working on a project. Each time you make a change and push it into the main repo, your colleagues have to pull those changes that you pushed into the git repo. Simply put it this way. To keep up with updates and the latest changes on the git repo, all you need is a git pull command. To achieve this, type the following commands.

$ git pull origin main
Enter fullscreen mode Exit fullscreen mode
      OR
Enter fullscreen mode Exit fullscreen mode
$ git fetch
    AND
$ git merge  
Enter fullscreen mode Exit fullscreen mode

git pull is equilavent to git fetch and git merge

Lastly, let me teach you the basic things you need to know about Branches

$ git branch develop
Enter fullscreen mode Exit fullscreen mode

This creates a new branch called the develop

$ git branch
Enter fullscreen mode Exit fullscreen mode

This shows a list of branches already created

$ git checkout develop
Enter fullscreen mode Exit fullscreen mode

This automatically moves to the branch develop

These are just the basic things you need to know about Git and GitHub. Stay tuned for more articles on how to use git and GitHub.

Additional resources

…And always remember, in case of fire, Do these 3 things;

Git commit
Git Push
Leave Building
Okay, Byeeeee………

Top comments (0)