Home Web Front-end JS Tutorial Master the Essentials of Git and GitHub in Just Minutes

Master the Essentials of Git and GitHub in Just Minutes

Aug 22, 2024 pm 06:32 PM

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
Master the Essentials of Git and GitHub in Just Minutes

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

This will make git to be aware of the folder.

$ git status

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

$ git add

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

$ git commit

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

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

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

$ git merge

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

$ git pull

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

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 

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

Step 6: Initialize git

You do this by typing the commands below

$ git init

Step 7: Staging of files for Commit

Type the following commands:

$ git add . 

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

$ git add Index.html

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

$ git status

Step 7: Commit changes to your git Repository

$ git commit -m "First Commit"

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

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

$ git remote -v 

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

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

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

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
      OR
$ git fetch
    AND
$ git merge  

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

This creates a new branch called the develop

$ git branch

This shows a list of branches already created

$ git checkout develop

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………

The above is the detailed content of Master the Essentials of Git and GitHub in Just Minutes. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Advanced Conditional Types in TypeScript Advanced Conditional Types in TypeScript Aug 04, 2025 am 06:32 AM

TypeScript's advanced condition types implement logical judgment between types through TextendsU?X:Y syntax. Its core capabilities are reflected in the distributed condition types, infer type inference and the construction of complex type tools. 1. The conditional type is distributed in the bare type parameters and can automatically split the joint type, such as ToArray to obtain string[]|number[]. 2. Use distribution to build filtering and extraction tools: Exclude excludes types through TextendsU?never:T, Extract extracts commonalities through TextendsU?T:Never, and NonNullable filters null/undefined. 3

Generate Solved Double Chocolate Puzzles: A Guide to Data Structures and Algorithms Generate Solved Double Chocolate Puzzles: A Guide to Data Structures and Algorithms Aug 05, 2025 am 08:30 AM

This article explores in-depth how to automatically generate solveable puzzles for the Double-Choco puzzle game. We will introduce an efficient data structure - a cell object based on a 2D grid that contains boundary information, color, and state. On this basis, we will elaborate on a recursive block recognition algorithm (similar to depth-first search) and how to integrate it into the iterative puzzle generation process to ensure that the generated puzzles meet the rules of the game and are solveable. The article will provide sample code and discuss key considerations and optimization strategies in the generation process.

What is the class syntax in JavaScript and how does it relate to prototypes? What is the class syntax in JavaScript and how does it relate to prototypes? Aug 03, 2025 pm 04:11 PM

JavaScript's class syntax is syntactic sugar inherited by prototypes. 1. The class defined by class is essentially a function and methods are added to the prototype; 2. The instances look up methods through the prototype chain; 3. The static method belongs to the class itself; 4. Extends inherits through the prototype chain, and the underlying layer still uses the prototype mechanism. Class has not changed the essence of JavaScript prototype inheritance.

Mastering JavaScript Array Methods: `map`, `filter`, and `reduce` Mastering JavaScript Array Methods: `map`, `filter`, and `reduce` Aug 03, 2025 am 05:54 AM

JavaScript's array methods map, filter and reduce are used to write clear and functional code. 1. Map is used to convert each element in the array and return a new array, such as converting Celsius to Fahrenheit; 2. Filter is used to filter elements according to conditions and return a new array that meets the conditions, such as obtaining even numbers or active users; 3. Reduce is used to accumulate results, such as summing or counting frequency, and the initial value needs to be provided and returned to the accumulator; none of the three modify the original array, and can be called in chain, suitable for data processing and conversion, improving code readability and functionality.

How can you remove a CSS class from a DOM element using JavaScript? How can you remove a CSS class from a DOM element using JavaScript? Aug 05, 2025 pm 12:51 PM

The most common and recommended method for removing CSS classes from DOM elements using JavaScript is through the remove() method of the classList property. 1. Use element.classList.remove('className') to safely delete a single or multiple classes, and no error will be reported even if the class does not exist; 2. The alternative method is to directly operate the className property and remove the class by string replacement, but it is easy to cause problems due to inaccurate regular matching or improper space processing, so it is not recommended; 3. You can first judge whether the class exists and then delete it through element.classList.contains(), but it is usually not necessary; 4.classList

Vercel SPA routing and resource loading: Solve deep URL access issues Vercel SPA routing and resource loading: Solve deep URL access issues Aug 13, 2025 am 10:18 AM

This article aims to solve the problem of deep URL refresh or direct access causing page resource loading failure when deploying single page applications (SPAs) on Vercel. The core is to understand the difference between Vercel's routing rewriting mechanism and browser parsing relative paths. By configuring vercel.json to redirect all paths to index.html, and correct the reference method of static resources in HTML, change the relative path to absolute path, ensuring that the application can correctly load all resources under any URL.

Vercel Single Page Application (SPA) Deployment Guide: Solving Deep URL Asset Loading Issues Vercel Single Page Application (SPA) Deployment Guide: Solving Deep URL Asset Loading Issues Aug 13, 2025 pm 01:03 PM

This tutorial aims to solve the problem of loading assets (CSS, JS, images, etc.) when accessing multi-level URLs (such as /projects/home) when deploying single page applications (SPAs) on Vercel. The core lies in understanding the difference between Vercel's routing rewriting mechanism and relative/absolute paths in HTML. By correctly configuring vercel.json, ensure that all non-file requests are redirected to index.html and correcting asset references in HTML as absolute paths, thereby achieving stable operation of SPA at any depth URL.

JavaScript Performance Optimization: Beyond the Basics JavaScript Performance Optimization: Beyond the Basics Aug 03, 2025 pm 04:17 PM

OptimizeobjectshapesbyinitializingpropertiesconsistentlytomaintainhiddenclassesinJavaScriptengines.2.Reducegarbagecollectionpressurebyreusingobjects,avoidinginlineobjectcreation,andusingtypedarrays.3.Breaklongtaskswithasyncscheduling,usepassiveeventl

See all articles