3. I am Vaidik
A B. Tech. student at Jaypee Institute of
Information Technology, NOIDA.
A web developer.
A Drupal Contributor.
A Mozilla Student Rep and Contributor.
Twitter: @vaidikkapoor
Github: vaidikkp
4. What we will talk about?
Version Controlling – The Concept
Distributed VCS vs Centralized VCS
Introduction to Git
Hands-on Git!
More Resources
5. Version Controlling
What is Version Control?
A system that is used to record changes to a file or a
set of files.
Why we need it?
Keep track of changes that anyone makes to a set of
files.
Revert to a particular version of your file (state) if you
need to so you don't have to remember everything
you do.
Compare different states of your file.
6. Centralized vs. Distributed
Local VCS:
The project is on your local machine.
Commits are stored in a local database that keeps
track of changes.
Disadvantages:
No way to collaborate
Single point-of-failure: if your local machine crashes, all
your work is lost.
7. Centralized vs. Distributed
Centralized
The VCS database is on a server accessible to
everyone.
Read/update the latest snapshot of the files from the
central server.
Advantages:
Very easy to collaborate.
Everyone stays updated with the changes everyone makes.
A lot more control over files (like who can read/write which
files, etc.).
Disadvantages:
8. Centralized vs. Distributed
Distributed
The VCS database is on a server accessible to
everyone.
Instead of reading/updating the snapshot of files, get
the whole history of changes.
Advantages:
Everybody has everything that is there on the server.
No single point-of-failure, everybody is happy! :)
Examples:
Git, Mercurial, Bazaar, Darcs
9. Git
A DVCS.
Originally developed by Linus Torvalds for
version controlling of the Kernel.
Originally a command-line utility, but a wide
variety of GUI clients exist.
Works on Linux, Mac and Windows.
Used a lot, wide community.
10. Hands-on Time!
Git Basic Commands
Init
Add/Commit
Log
Revert
Branch
Merge
Merge Conflict
A common workflow
11. More Resources
More Tutorials:
Git SCM Book: http://git-scm.com/book
Pro Git: http://progit.org/book/
Git Immersion: http://gitimmersion.com/
Screencast from Github:
http://learn.github.com/p/intro.html
Presentation by Shakti Kannan: http://goo.gl/6BTTv
12. Thank You!
This presentation can be found online at
http://www.slideshare.net/... (the chicken and egg
problem :P)
Me: OSDC:
Website Website
http://vaidikkapoor.info http://opensource.jiitu.org
Twitter Wiki
http://twitter.com/vaidikkapoor http://opensource.jiitu.org/wiki
Github Twitter
http://github.com/vaidikkp http://twitter.com/jiitosdc
Facebook Group
http://on.fb.me/jiitosdc