---
# System prepended metadata

title: GIT AND GITHUB

---

# GIT AND GITHUB

**The Meaning of Git**
	Git and Github are usually, misunderstood by many people (especially young developers) to mean the same thing, but they are different and should not be misunderstood or used interchangeably. Git is a distributed version control system or VCS which helps developers track changes in their code base. It also allows them to collaborate with other developers, and manage multiple versions of a project (Traversy, 2025). In other words, it is used to back up your code. Git keeps a history of all changes, so you can revert to previous versions if needed. Git is decentralized, meaning that you don't need a central server to use it instead every developer has a full copy of the repository on their local machine (computer). 
According Traversy, (2025). “A repository is a digital filing cabinet that stores all your files and all the changes that you've made on it”. Version Control is a must have skill for any developer.  It is used in almost every software project. Git allows developers to work on the same project without stepping on each other's toes and it also provides a way to track changes and roll back to previous versions. 

**Some Features of Git** 
It's distributed
It's decentralized so there's no need for a central server
It keeps track of changes made to your codebase 
Multiple developers can work on the same project
Git branches are effectively a pointer to a snapshot of your changes.
The speed of Git is very fast and efficient
It's open source and free
It's widely available without licensing costs
It has a large community and support for plugins. 

Apart from Git, there are other version control systems such as the SPN. But Git still remains the most popular and widely used. 
There are two options to using Git. 
    a. The Terminal where you write commands and 
    b. General User Interface (GUI)
In the terminal, you will be able to see the command that is being run, while in the GUI you can’t see the command being run. Some commands you can use while on the terminal includes: 
        a. git init: Initializes a new Git repository.
        b. git clone [url]: Makes a copy of a remote repository to your local machine.
        c. git status: Shows the current status of your working directory and staging area.
        d. git add [file]: Stages a file to be committed.
        e. git commit -m "message": Commits the staged changes to the repository with a message describing the changes.
        f. git push: Pushes your changes to a remote repository.
        g. git pull: Pulls the latest changes from a remote repository.
        h. git branch: Shows the branches in your repository.
        i. git checkout [branch]: Switches between branches.
        j. git merge [branch]: Merges changes from one branch into another. 
Meaning of Github
	GitHub is a web-based platform designed for Version Control and collaboration and it hosts Git repositories, Remote repositories and provides a graphical interface within the browser to manage your code and do other things as well.  In addition to hosting your code,  GitHub offers   powerful collaboration tools like bug tracking,  feature requests, task management and wikis for your projects. Github is where the collaboration happens. 
**Some Terms /Tools used on Github**
*A repository:* is the most basic element of GitHub. It's a place where you can store your code, your files, and each file's revision history. Repositories can have multiple collaborators and can be either public or private. Uses of repository includes: 
Store and share work: Repositories allow you to store and share your code and other files.
*Track changes:* Repositories allow you to track and manage changes to your code over time.
Collaborate: Repositories allow you to collaborate with others on a shared project.
*Showcase work:* Repositories allow you to showcase your work to others.
Get feedback: Repositories allow others to review your code and make suggestions to improve it.
*Branch:* A parallel version of your code that is contained within the repository, but does not affect the primary or main branch.
*Clone:* To download a full copy of a repository's data from GitHub.com, including all versions of every file and folder.
*Fork: *A new repository that shares code and visibility settings with the original "upstream" repository.
*Merge:* To take the changes from one branch and apply them to another.
Pull request: A request to merge changes from one branch into another.
*Remote:* A repository stored on GitHub, not on your computer.
Upstream: The branch on an original repository that has been forked or cloned. The corresponding branch on the cloned or forked repository is called the "downstream."
The major difference between Git and Github is that while Git is the version control systems that manages and keeps track of your code, the Github is used to host repositories,  share, and manage your code files on the internet. Other platforms that can host Git repository are Gitlab and Gitbucket. In summary, GitHub uses Git underneath, and lets you manage your Git repositories or folders easily on its platform.
**How Git and GitHub Work Together**
*Local Workflow:* You use Git on your local machine to track changes, create branches, and make commits. When you're ready to share your work, you push those changes to GitHub.
*Remote Workflow:* GitHub provides a place for your remote repository. Once changes are pushed, other collaborators can pull those changes into their own local repositories and contribute. If they make changes, they can push them back to GitHub.
The Importance of Git to Developers and Programmers
*Collaboration: *GitHub makes it easy to collaborate by providing tools like pull requests and code review. Multiple developers can work on different features, then combine their work via pull requests.
Teams & Organizations: GitHub allows you to create organizations and teams, helping to manage larger projects with multiple contributors.
*Actions & CI/CD:* With GitHub Actions, you can automate tasks such as testing, building, and deploying your code. It integrates well with CI/CD pipelines.
*Security:* GitHub has security features like secret scanning, code scanning, and dependabot to help ensure your code is safe and up to date with dependencies.
*Discussions:* GitHub has a Discussions feature for community conversations, support, and even Q&A.
Collaboration: Multiple developers can contribute to a project without stepping on each other’s toes.
*History Tracking:* GitHub makes it easy to track the entire history of a project, which is great for debugging, auditing, and understanding the evolution of a project.
Open Source Contributions: GitHub is a hub for open-source software, where developers can easily contribute to projects.
*Documentation:* GitHub encourages maintaining documentation (README, Wiki), making it easier for others to understand and use your code.

**REFERENCES: **
Atlassian Git Tutorial. https://www.atlassian.com
Traversy, (2025).
About repositories - GitHub Docs. https://docs.github.com