Geeks logo

Git and GitHub

Everything you need to know

By NAVEEN KAILASH BPublished 7 months ago 5 min read


Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It was created by Linus Torvalds in 2005 for the development of the Linux kernel. Git is a command-line tool that allows you to keep track of changes to your code and collaborate with others on the same project.

GitHub, on the other hand, is a web-based platform that provides hosting for Git repositories. It is a popular platform for developers to share and collaborate on their code, and it provides many tools to make the process of developing software easier.

Basic Concepts of Git


A Git repository is a collection of files and folders that you are tracking with Git. It contains all the versions of your files and their changes over time. You can think of a repository as a database of your project.


A commit is a snapshot of your repository at a specific point in time. It contains all the changes that you made to your files since the last commit. You can think of a commit as a save point in your project.


A branch is a separate line of development that allows you to work on a feature or a bug fix without affecting the main codebase. You can create a branch, make changes to your code, and merge it back into the main branch when you're done.


Merging is the process of combining changes from one branch into another. It is a way of bringing the changes made in a separate branch into the main branch.

Pull Request

A pull request is a request to merge changes from a branch into another branch. It is a way for team members to review and discuss changes before they are merged into the main codebase.

Basic Commands of Git

git init

The git init command initializes a new Git repository. It creates a new directory named after your project and sets it up as a new Git repository.

git add

The git add command adds files to the staging area. The staging area is a temporary storage area where you can prepare your changes before you commit them.

git commit

The git commit command creates a new commit from the changes in the staging area. You need to provide a commit message that describes the changes you made.

git clone

The git clone command creates a copy of an existing Git repository. It is used when you want to work on an existing project or when you want to make a backup of a repository.

git pull

The git pull command fetches changes from a remote repository and merges them into your local branch. It is used when you want to update your local repository with changes made by others.

git push

The git push command uploads your changes to a remote repository. It is used when you want to share your changes with others or when you want to backup your work.

git branch

The git branch command lists all the branches in your repository. You can also create new branches using this command.

git merge

The git merge command merges changes from one branch into another. It is used when you want to combine the changes made in a separate branch into the main branch.

git status

The git status command shows the current state of your repository. It shows which files have been modified, which files have been staged, and which files are untracked.

git log

The git log command shows a history of all the commits in your repository. It shows the commit message, the author,

Advanced Concepts of Git

Git Workflow

The Git workflow is a set of guidelines that help you use Git effectively in a team environment. There are different Git workflows, but the most common one is the feature branch workflow. In this workflow, each feature or bug fix is developed in a separate branch and merged into the main branch when it's ready.

Git Hooks

Git hooks are scripts that are executed by Git when certain events occur, such as before or after a commit, or before or after a push. Git hooks can be used to automate tasks, enforce policies, or run tests before committing or pushing code.

Git Submodules

Git submodules allow you to include one Git repository as a subdirectory of another Git repository. This is useful when you want to include code from another project in your own project.

Git Bisect

Git bisect is a command that helps you find the commit that introduced a bug in your code. It works by performing a binary search through the commit history to find the first bad commit.

Git Rebase

Git rebase is a command that allows you to reapply changes from one branch onto another. It is used when you want to update your branch with changes made by others, but you want to keep a linear history of your commits.


Creating a Repository

To create a new repository on GitHub, you can click on the "+" button on the top right corner of the GitHub homepage and select "New Repository". You can then give your repository a name, description, and choose whether it should be public or private.

Forking a Repository

To fork a repository on GitHub, you can click on the "Fork" button on the top right corner of the repository page. Forking a repository creates a copy of the repository in your own account, which you can then modify and make changes to.

Pull Requests

To create a pull request on GitHub, you can click on the "New Pull Request" button on the repository page. You can then choose the branch that you want to merge into the main branch, and add a description of the changes that you made.


GitHub issues are used to track bugs, feature requests, and other tasks related to your project. To create an issue, you can click on the "Issues" tab on the repository page, and click on the "New Issue" button.


GitHub Actions are used to automate tasks such as building, testing, and deploying your code. You can create custom workflows using YAML files, and trigger them based on events such as pushes, pull requests, or issues.


Git and GitHub are powerful tools for version control and collaboration. Git allows you to keep track of changes to your code, and GitHub provides a web-based platform for hosting and sharing your repositories. By mastering the basic and advanced concepts of Git and GitHub, you can become a more efficient and effective developer.

share your thoughts below.


how to

About the Creator


Welcome to my Vocal Media page, where you'll find thought-provoking content on the hottest topics of the day. From politics and current events to entertainment and lifestyle, my page is dedicated to keeping you informed and entertained.

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights


There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2023 Creatd, Inc. All Rights Reserved.