Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Version Control

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

What we will talk about? ➔ Version Controlling – The Concept ➔ Distributed VCS vs Centralized VCS ➔ Introduction to Git ➔ Hands-on Git! ➔ More Resources

Slide 5

Slide 5 text

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. ✔ Collaborate easily, independent of geography.

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

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:  Single point-of-failure: if the server crashes or goes down, the work might get lost or nobody might be able to collaborate for some time. ✔ Examples:  CVS, SVN, Perforce

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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.

Slide 10

Slide 10 text

Hands-on Time! ➔ Git Basic Commands ✔ Init ✔ Add/Commit ✔ Log ✔ Revert ✔ Branch ✔ Merge ✔ Merge Conflict ➔ A common workflow ➔ How to work with Github? ✔ Push ✔ Pull

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Thank You! This presentation can be found online at http://www.slideshare.net/... (the chicken and egg problem :P) Me: ● Website http://vaidikkapoor.info ● Twitter http://twitter.com/vaidikkapoor ● Github http://github.com/vaidikkp OSDC: ● Website http://opensource.jiitu.org ● Wiki http://opensource.jiitu.org/wiki ● Twitter http://twitter.com/jiitosdc ● Facebook Group http://on.fb.me/jiitosdc