Git & GitHub
(Introduction and
Practical session)
Session by Atharva Ikhar
Associate Software Engineer
What is GitHub?
@iatharva
What is Git? And Why we need it?
Git is software for tracking changes in any set of files,
usually used for coordinating work among programmers
collaboratively developing source code during software
development.
Let’s see in simple terms by breaking it …..
@iatharva
Have you ever faced this situation?
● While working on a project, have you ever
faced situation that you have updated a piece
of code and then realise it later that previous
code was actually effective?
● When project is complete and while giving the
demo, you realise some piece of code is
malfunctioning but doesn’t know who worked
on it?
● Or Want to make two version of the same
project/program?
@iatharva
Solution: Version Control System.
● Local Version Control System.
● Centralized Version Control System
● Distributed Version Control System
@iatharva
Solution: Version Control System.(1)
● Local Version Control System.
● https://learngitbranching.js.org/?NODEMO
@iatharva
Solution: Version Control System.(2)
Centralized Version Control System Distributed Version Control System
@iatharva
Solution: Version Control System.(2)
Centralized Version Control System
@iatharva
Solution: Version Control System.(2)
Distributed Version Control System
@iatharva
1. Take away:
➔ We learned “what is VCS?”
➔ Why it is needed?
➔ About it’s background.
Any Questions?
@iatharva
What is Git?
● It is Local Version Control System.
@iatharva
What is GitHub?
● It is Remote Distributed Version Control System.
● Linus Torvalds has hosted the Linux kernel source tree
(with all documentations and subdirectories) on GitHub,
and he works on it frequently.
● Microsoft acquired GitHub, for $7.5 billion in stock.
● Github have over 73 million developers and more than
200 million repositories (including at least 28 million
public repositories)
Famous software/tech hosted on GitHub-
FreeCodeCamp, Vue, React, Tensorflow, Bootstrap, VS Code and
many more.
GitHub Student Developer Pack
Tip
You can get it at
https://education.github
.com/pack
@iatharva
Get your own cool website for free
Tip
You can read more about it
here
https://pages.github.com/
@iatharva
Show off your stats anywhere
Tip
Heck, you can even
add your github
profile link on your
resume 😎
@iatharva
Positive, Humble and helpful community
@iatharva
Let’s get familiar with the
basic terms
and lingos first Tip
Revising it again after
the lectures would clear
your concepts for sure.
@iatharva
Repository.
Repo
(Folder or a project which is git
initialized
or uploaded on
github/gitlab or some vcs)
@iatharva
README.md.
In repo
(Contains the information about
the project/repository so the
other person/developers won’t
be clueless.
- Uses markdown language)
@iatharva
Commit.
(creating a snapshot of the files
at a particular point in time)
@iatharva
Git logs.
(See all the detailed information
on all commits)
@iatharva
Branch.
(Creating another version of
project)
@iatharva
Pull Request.
PR
(When you have made some
changes in someone else’s code
and want them to merge your
code and their code to result in
new improved code/project)
@iatharva
Maintainer.
In PR
(To avoid/resolve conflicts
maintainer of the repo review
the code which is submitted
by contributor)
@iatharva
Contributor.
In PR
(Please like you and me who
make some changes(by
making useful PR) & want to
help in project)
@iatharva
Conflicts.
In PR
(When you are merging your
code in different version than
previous version)
@iatharva
Code review.
In PR
(To avoid/resolve conflicts
maintainer of the repo review the
code which is submitted by
contributor)
@iatharva
Approval.
In PR
(Once code is reviewed it can
be either in approved state,
rejected state or changes
needed)
@iatharva
Merging the code.
from PR
(When you have made some changes
in someone else’s code and want them
to merge your code and there code to
result in new improved code/project)
@iatharva
@iatharva
Next Session.
Let’s get our hands dirty
Reference for how to create github
account
https://dev.to/iatharva/how-to-create-github-accou
nt-for-beginners-52k8
Any Questions?
You can reach me from iatharva.github.io
Thank you for your time
And hope you step into open source and
become a active contributor towards the
community.
@iatharva