SlideShare a Scribd company logo
Git - Basics
● Management of changes to collection of Information
● Identified by revision number
● Revisions can be compared restored and merged
● Coordinating Teams
Version Control Software
Centralised VCS vs Distributed VCS
● One true source code
● Commit and Checkout from a central location
● No need to keep many copies of single file in hard disk
● Eg:- SVN, OpenCVS and Perforce
● Difference in workflow and performance
● Typical CVCS Workflow
○ Pull down any changes other people have made from the central
server
○ Make your changes, and make sure they work properly
○ Commit your changes to the central server, so other programmers
can see them
Centralised VCSs
● Every repository is good as any other
● Do not necessarily rely on a central server
● Developer “clones” a copy of a repository and has the full history of the
project on their own hard drive
● “Pulling” and “Pushing”
● Act of cloning
Distributed VCSs
● Actions other than pushing and pulling to repositories are extremely fast
● Committing new changesets can be done locally
● Work and commit changes from anywhere without Internet, push them
all to git server at once
● Share with one or two people to get feedback and then share with all
Advantages of DVCS
● Space needed to store all version of large binary files can accumulate
quickly
● Long history projects can take an impractical amount of time and disk
space
Disadvantages of DVCS
● Location in which data is stored and managed
○ Central location
○ Distributed location
Repository
● Centralized VCS
○ List of file based changes
● Distributed VCS
○ Set of snapshots of a miniature filesystem
Data Storage in a repository
● Difference between same file in different versions of a VCS
● Eg :-
What is a Diff?
● Distributed revision control system
● Designed and developed by Linus Torvalds
● A Git working repository is a fully-fledged repository
● Distributed under GNU General Public License version 2
Git
● Development began in April 2005
● BitKeeper - A proprietary source control management system
● Necessity of an distributed open source SCM
● Other design Criterias
○ Take Concurrent Versions System (CVS) as an example of what not to
do; if in doubt, make the exact opposite decision
○ Support a distributed, BitKeeper-like workflow
○ Very strong safeguards against corruption, either accidental or
malicious
● “The unpleasant person”
Evolution of Git
Linus Torvalds Junio Hamano
● Bazaar
● Mercurial
● Monotone
Other softwares like Git
● Command-line method
○ git init
○ git init <reponame>
○ git --bare init
Make your first git repository
● SVN Checkout and Git Clone
● SVN Update and Git Pull
● SVN Commit and Git commit & push
Confusions of a Subversion user
● git add .
● git commit
● git push
Your first commit
● Tell Git who you are
○ git config --global user.name "Sam Smith"
○ git config --global user.email sam@example.com
● Create a new local repository
○ git init
● Checkout a repository
○ git clone /path/to/repository
○ git clone username@host:/path/to/repository
● Add files
○ git add <filename>
○ git add .
Git common commands
● Commit
○ git commit -m “commit message”
○ git commit -a
● Push
○ git push origin master
● Status
○ git status
● Connect to a remote repository
○ git remote add origin <server>
○ git remote -v
Git common commands (Contd.)
● Branches
○ git checkout -b <branchname>
○ git checkout <branchname>
○ git branch
○ git branch -d <branchname>
○ git push origin <branchname>
○ git push --all origin
○ git push origin :<branchname>
Git common commands (Contd.)
● Update from the remote repository
○ git pull
○ git merge <branchname>
○ git diff
○ git diff --base <filename>
○ git diff <sourcebranch> <targetbranch>
○ git add <filename>
● Tags
○ git tag 1.0.0 <commitID>
○ git log
○ git push --tags origin
Git common commands (Contd.)
● Undo local changes
○ git checkout -- <filename>
○ git fetch origin
○ git reset --hard origin/master
● Search
○ git grep "foo()"
Git common commands (Contd.)
● Creating a new repository
● Cloning a remote repository
Git for subversion users
● Inspecting history
● Committing local changes
○ Inspect your local changes
Git for subversion users (Contd.)
● Committing local changes
○ add/remove changed files
○ commit your changes
Git for subversion users (Contd.)
● Sharing & collaborating
Git for subversion users (Contd.)
Thank You
&
Next Presentation will be on
unit testing

More Related Content

What's hot

Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
Mohammad Imam Hossain
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Rueful Robin
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
Gaurav Wable
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
Viyaan Jhiingade
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
Nick Quaranto
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
GoogleDevelopersStud1
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version Control
Sourabh Sahu
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
Taisuke Inoue
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
"FENG "GEORGE"" YU
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
Arulmurugan Rajaraman
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
Behzad Altaf
 
Git flow
Git flowGit flow
Git flow
Valerio Como
 
Github
GithubGithub
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
Kumar Shìvam
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
Panagiotis Papadopoulos
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
Yoad Snapir
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
Brice Fernandes
 
Learning git
Learning gitLearning git
Learning git
Sid Anand
 
Github
GithubGithub
Github
MeetPatel710
 

What's hot (20)

Git and github 101
Git and github 101Git and github 101
Git and github 101
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version Control
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git flow
Git flowGit flow
Git flow
 
Github
GithubGithub
Github
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Learning git
Learning gitLearning git
Learning git
 
Github
GithubGithub
Github
 

Viewers also liked

Score your Goals, Leave Password Management to us!
Score your Goals, Leave Password Management to us!Score your Goals, Leave Password Management to us!
Score your Goals, Leave Password Management to us!
ILANTUS Technologies
 
Presentation - Programming a Heterogeneous Computing Cluster
Presentation - Programming a Heterogeneous Computing ClusterPresentation - Programming a Heterogeneous Computing Cluster
Presentation - Programming a Heterogeneous Computing ClusterAashrith Setty
 
Certificate Of Participation
Certificate Of ParticipationCertificate Of Participation
Certificate Of ParticipationAnant Pradhan
 
Usa today api
Usa today apiUsa today api
Usa today api
Igor Birman
 
Hoe Aia Software scrum ontmoette - GoYello Kennismiddag
Hoe Aia Software scrum ontmoette - GoYello Kennismiddag   Hoe Aia Software scrum ontmoette - GoYello Kennismiddag
Hoe Aia Software scrum ontmoette - GoYello Kennismiddag Jeroen Huinink
 
Genesis
GenesisGenesis
WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017
WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017
WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017
DreamOrbit Softech Pvt Ltd.
 
Oracle switch over_back
Oracle switch over_backOracle switch over_back
Oracle switch over_back
Amardeep Jassal
 
A research report on the establishment of private independent blood banks in ...
A research report on the establishment of private independent blood banks in ...A research report on the establishment of private independent blood banks in ...
A research report on the establishment of private independent blood banks in ...Rijo Stephen Cletus
 

Viewers also liked (20)

Score your Goals, Leave Password Management to us!
Score your Goals, Leave Password Management to us!Score your Goals, Leave Password Management to us!
Score your Goals, Leave Password Management to us!
 
Presentation - Programming a Heterogeneous Computing Cluster
Presentation - Programming a Heterogeneous Computing ClusterPresentation - Programming a Heterogeneous Computing Cluster
Presentation - Programming a Heterogeneous Computing Cluster
 
Tejashree_cv
Tejashree_cvTejashree_cv
Tejashree_cv
 
One night at the call center by chetan bhagat
One night at the call center by chetan bhagatOne night at the call center by chetan bhagat
One night at the call center by chetan bhagat
 
Santosh Das
Santosh DasSantosh Das
Santosh Das
 
Certificate Of Participation
Certificate Of ParticipationCertificate Of Participation
Certificate Of Participation
 
Annualreport07 08
Annualreport07 08Annualreport07 08
Annualreport07 08
 
Usa today api
Usa today apiUsa today api
Usa today api
 
Hoe Aia Software scrum ontmoette - GoYello Kennismiddag
Hoe Aia Software scrum ontmoette - GoYello Kennismiddag   Hoe Aia Software scrum ontmoette - GoYello Kennismiddag
Hoe Aia Software scrum ontmoette - GoYello Kennismiddag
 
Kashave_Kumar
Kashave_KumarKashave_Kumar
Kashave_Kumar
 
Genesis
GenesisGenesis
Genesis
 
Pacmp
PacmpPacmp
Pacmp
 
CS1308 - 02/08/10
CS1308 - 02/08/10CS1308 - 02/08/10
CS1308 - 02/08/10
 
Assignement
AssignementAssignement
Assignement
 
WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017
WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017
WHICH TECHNOLOGY WILL BE IN FOCUS FOR MOBILE APP DEVELOPMENT IN 2017
 
Presentation EOI - Apps & Tech 2.0
Presentation EOI - Apps & Tech 2.0Presentation EOI - Apps & Tech 2.0
Presentation EOI - Apps & Tech 2.0
 
Oracle switch over_back
Oracle switch over_backOracle switch over_back
Oracle switch over_back
 
School
SchoolSchool
School
 
A research report on the establishment of private independent blood banks in ...
A research report on the establishment of private independent blood banks in ...A research report on the establishment of private independent blood banks in ...
A research report on the establishment of private independent blood banks in ...
 
TLC
TLCTLC
TLC
 

Similar to Version Control History and Git Basics

Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
AbhijitNarayan2
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
Sameera Wijesekara
 
Git presentation
Git presentationGit presentation
Git presentation
Sai Kumar Satapathy
 
introduction in version control system
introduction in version control systemintroduction in version control system
introduction in version control system
Biga Gaber
 
Presentation on Repository Control System
Presentation on Repository Control SystemPresentation on Repository Control System
Presentation on Repository Control System
Md. Mujahid Islam
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17siva ram
 
Git
GitGit
Git.odp 0
Git.odp 0Git.odp 0
Git.odp 0
Mannu Malhotra
 
GIT In Detail
GIT In DetailGIT In Detail
GIT In Detail
Haitham Raik
 
Beginner walkthrough to git and github
Beginner walkthrough to git and githubBeginner walkthrough to git and github
Beginner walkthrough to git and githubMahmoud Said
 
GIT
GITGIT
Crash course in git and github
Crash course in git and githubCrash course in git and github
Crash course in git and github
Mithun Shanbhag
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
Priya Nayak
 
GIT INTRODUCTION
GIT INTRODUCTIONGIT INTRODUCTION
GIT INTRODUCTION
MohanRaviRohitth
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
Vikram SV
 
Git.pptx
Git.pptxGit.pptx
Git.pptx
PalashIMS
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Amit Mathur
 
Version control and GIT Primer
Version control and GIT PrimerVersion control and GIT Primer
Version control and GIT Primer
saadulde
 
Setting up Git.pptx
Setting up Git.pptxSetting up Git.pptx
Setting up Git.pptx
tapanvyas11
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Yan Vugenfirer
 

Similar to Version Control History and Git Basics (20)

Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git presentation
Git presentationGit presentation
Git presentation
 
introduction in version control system
introduction in version control systemintroduction in version control system
introduction in version control system
 
Presentation on Repository Control System
Presentation on Repository Control SystemPresentation on Repository Control System
Presentation on Repository Control System
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
 
Git
GitGit
Git
 
Git.odp 0
Git.odp 0Git.odp 0
Git.odp 0
 
GIT In Detail
GIT In DetailGIT In Detail
GIT In Detail
 
Beginner walkthrough to git and github
Beginner walkthrough to git and githubBeginner walkthrough to git and github
Beginner walkthrough to git and github
 
GIT
GITGIT
GIT
 
Crash course in git and github
Crash course in git and githubCrash course in git and github
Crash course in git and github
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
GIT INTRODUCTION
GIT INTRODUCTIONGIT INTRODUCTION
GIT INTRODUCTION
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
Git.pptx
Git.pptxGit.pptx
Git.pptx
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Version control and GIT Primer
Version control and GIT PrimerVersion control and GIT Primer
Version control and GIT Primer
 
Setting up Git.pptx
Setting up Git.pptxSetting up Git.pptx
Setting up Git.pptx
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Version Control History and Git Basics

  • 2. ● Management of changes to collection of Information ● Identified by revision number ● Revisions can be compared restored and merged ● Coordinating Teams Version Control Software
  • 3. Centralised VCS vs Distributed VCS
  • 4. ● One true source code ● Commit and Checkout from a central location ● No need to keep many copies of single file in hard disk ● Eg:- SVN, OpenCVS and Perforce ● Difference in workflow and performance ● Typical CVCS Workflow ○ Pull down any changes other people have made from the central server ○ Make your changes, and make sure they work properly ○ Commit your changes to the central server, so other programmers can see them Centralised VCSs
  • 5. ● Every repository is good as any other ● Do not necessarily rely on a central server ● Developer “clones” a copy of a repository and has the full history of the project on their own hard drive ● “Pulling” and “Pushing” ● Act of cloning Distributed VCSs
  • 6. ● Actions other than pushing and pulling to repositories are extremely fast ● Committing new changesets can be done locally ● Work and commit changes from anywhere without Internet, push them all to git server at once ● Share with one or two people to get feedback and then share with all Advantages of DVCS
  • 7. ● Space needed to store all version of large binary files can accumulate quickly ● Long history projects can take an impractical amount of time and disk space Disadvantages of DVCS
  • 8. ● Location in which data is stored and managed ○ Central location ○ Distributed location Repository
  • 9. ● Centralized VCS ○ List of file based changes ● Distributed VCS ○ Set of snapshots of a miniature filesystem Data Storage in a repository
  • 10. ● Difference between same file in different versions of a VCS ● Eg :- What is a Diff?
  • 11. ● Distributed revision control system ● Designed and developed by Linus Torvalds ● A Git working repository is a fully-fledged repository ● Distributed under GNU General Public License version 2 Git
  • 12. ● Development began in April 2005 ● BitKeeper - A proprietary source control management system ● Necessity of an distributed open source SCM ● Other design Criterias ○ Take Concurrent Versions System (CVS) as an example of what not to do; if in doubt, make the exact opposite decision ○ Support a distributed, BitKeeper-like workflow ○ Very strong safeguards against corruption, either accidental or malicious ● “The unpleasant person” Evolution of Git
  • 14. ● Bazaar ● Mercurial ● Monotone Other softwares like Git
  • 15. ● Command-line method ○ git init ○ git init <reponame> ○ git --bare init Make your first git repository
  • 16. ● SVN Checkout and Git Clone ● SVN Update and Git Pull ● SVN Commit and Git commit & push Confusions of a Subversion user
  • 17. ● git add . ● git commit ● git push Your first commit
  • 18. ● Tell Git who you are ○ git config --global user.name "Sam Smith" ○ git config --global user.email sam@example.com ● Create a new local repository ○ git init ● Checkout a repository ○ git clone /path/to/repository ○ git clone username@host:/path/to/repository ● Add files ○ git add <filename> ○ git add . Git common commands
  • 19. ● Commit ○ git commit -m “commit message” ○ git commit -a ● Push ○ git push origin master ● Status ○ git status ● Connect to a remote repository ○ git remote add origin <server> ○ git remote -v Git common commands (Contd.)
  • 20. ● Branches ○ git checkout -b <branchname> ○ git checkout <branchname> ○ git branch ○ git branch -d <branchname> ○ git push origin <branchname> ○ git push --all origin ○ git push origin :<branchname> Git common commands (Contd.)
  • 21. ● Update from the remote repository ○ git pull ○ git merge <branchname> ○ git diff ○ git diff --base <filename> ○ git diff <sourcebranch> <targetbranch> ○ git add <filename> ● Tags ○ git tag 1.0.0 <commitID> ○ git log ○ git push --tags origin Git common commands (Contd.)
  • 22. ● Undo local changes ○ git checkout -- <filename> ○ git fetch origin ○ git reset --hard origin/master ● Search ○ git grep "foo()" Git common commands (Contd.)
  • 23. ● Creating a new repository ● Cloning a remote repository Git for subversion users
  • 24. ● Inspecting history ● Committing local changes ○ Inspect your local changes Git for subversion users (Contd.)
  • 25. ● Committing local changes ○ add/remove changed files ○ commit your changes Git for subversion users (Contd.)
  • 26. ● Sharing & collaborating Git for subversion users (Contd.)
  • 27.
  • 28. Thank You & Next Presentation will be on unit testing