GIT AND GITHUB

FOR WHITE BELT DEVELOPERS

About Saad Abbasi

Mentor

Techkaro

NgGirls

Dawood UET

Speaker

JS Dive

JS Meetup

React KHI

Sr. Software Engineer @lucidspring

Β Outline

Version Control Systems (VCS)

What is Git and how to use it

What is Git and how to use it

Understanding Github

Using Github for collaboration

Exploring Github

Let's begin with a story

🏑

πŸš—

πŸš•

🚚

πŸ™πŸ»β€β™‚οΈ

Jim

Jim's Car Washing Service

Β Jim is sad becauseΒ 

Jim is not getting enough businessΒ 

πŸ™πŸ»β€β™‚οΈ

πŸ’‘

Why not make a website and spread in entire city

πŸ‘¨πŸ»β€πŸ’»

He started working on his new website

Since this web project was a bit lengthy and he could not do alone, he thought of hiring a friend of his.

Her name is Cheryl

πŸ‘¨πŸ»β€πŸ’»

πŸ‘©πŸ»β€πŸ’»

When Cheryl do some work, she shares it with Jim and vice versaΒ 

But it kills time of both Cheryl and Jim to merge the changes made by other developer

When both of them are working on same part of website, it makes it even harder to maintain changes

πŸ™πŸ»β€β™‚οΈ

Jim is now sad again

because hiring a developer did not make it happen any faster, rather he ended up maintaining all the changes and feature updates

and not working on what he should be working on...

πŸ™πŸ»β€β™‚οΈ

Only if there was a tool that helps managing all this complexity

and Jim could focus of making his product live

πŸ‘¨πŸ»β€πŸ’»

πŸ‘©πŸ»β€πŸ’»

Well, Good news. They made it

They finally managed to take their website live

But it was such a mess of code collaboration

🏑

πŸš—

🚚

πŸ§”πŸ»

Jim

Jim's Car Washing Service

πŸš•

πŸš•

πŸš—

🚚

🚚

🚚

πŸš™

πŸš™

Β Jim is now happyΒ 

His website helped him grow 4x daily clients

but still improving its website the old way

Β Version Control Systems

Keeps track of changes

Keeps track of who changed what

Keeps versions of files and folders

Makes it easy to jump to any point in history

Makes it easy to collaborate and view differences

What is VCS?

Β Version Control Systems

Everything changes or keeps updating

To reduce load of collaboration from our head

To keep multiple versions alive

Maintaining history of the project

Why we need VCS?

Β Git, by doing it

Installing Git

Checking version and docs

Understanding Git Bash

Basic Git commands

Initializing a repository

Checking status

Staging changing

Committing changes

Branching

Merging branches

Reverting work

Soft Revert

Jumping back to a specific point

Hard Revert

Setting up remote origin

Pushing to remote server

Setting up a remote branch

1

2

3

Β Exploring Github

Making an account

Exploring Github

Initializing a repository

Creating a pull request (PR)

Reviewing Code

1

2

3

Reviewing a PR

Creating Issues

Creating an issue, ticket

Setting up states

Setting up labels

Linking issues

Project Management with Github

Thats pretty much it

{github, linkedin, *}/isaadabbasi

get connected

Made with Slides.com