Slide 1: An Introduction to Git
Anil Wadghule
anildigital@gmail.com
Slide 2: Scope of Talk
What this talk is and what it isn’t Me, myself What is? Why use? How to? (a quick run through) Quick comparisons (with SVN) Resources
Git Introduction - BarCampPune4/2008
2
Slide 3: Purpose
What this talk is? Get you interested Get you started with Git What it isn’t? Not a tutorial
Git Introduction - BarCampPune4/2008
3
Slide 4: Who am I?
(or why should you listen to me) 24/male/single :) Technology consultant Ruby/Rails hacker SE @ MangoSpring
Git Introduction - BarCampPune4/2008 4
Slide 5: History (Git’s, not mine)
Originally written by Linus Torwalds Currently maintained by Junio Hamano To manage Linux Kernel development Open source, free (GNU GPL V2)
Git Introduction - BarCampPune4/2008
5
Slide 6: What the heck is Git?
Distributed Source Control Management tool Very Powerful An order of magnitude fast than other tools I call it next generation Unix :)
Git Introduction - BarCampPune4/2008
6
Slide 7: About Git / General features
Strong support for non-linear development Distributed development Toolkit design(c progs and shell scripts, perl scripts ) Cryptographic auth. history
Git Introduction - BarCampPune4/2008
7
Slide 8: Where can you use Git?
For personal projects (Single person, eg. many Rails projects) For very large projects (Linux kernel) For almost all size of team projects (OLPC)
Git Introduction - BarCampPune4/2008
8
Slide 9: Git Installation
Using source (linux/macs/similar) Using packages e.g. port for mac, apt for ubuntu ... For Windoze ... cygwin
Git Introduction - BarCampPune4/2008
9
Slide 10: Git Demo
Quick walk through Setting up Git for a Rails app, basic usage, commit, diff, merge, checkout, branches ...
Git Introduction - BarCampPune4/2008
10
Slide 11: Why Git?
Distributed development
Git Introduction - BarCampPune4/2008
11
Slide 12: Why Git?
SVN/CVS Centralized development
Git Introduction - BarCampPune4/2008
12
Slide 13: Why Git?
Efficient convenient Branching and Merging Network not necessary | offline Fast (logs, history, diff) Toolkit design, extensible Scales well (Subversion not suited)
Git Introduction - BarCampPune4/2008 13
Slide 14: Why Git?
Clean
Git Introduction - BarCampPune4/2008
14
Slide 15: Why Git?
Branching and merging
Git Introduction - BarCampPune4/2008
15
Slide 16: Why Git?
Git works with Content not files
Git Introduction - BarCampPune4/2008
16
Slide 17: Why Git?
Content, tracks change of content
Use git commit -a to fake file behaviour
Git Introduction - BarCampPune4/2008 17
Slide 18: Everyday Git
fsck, count-objects, gc log, show branch, checkout add, diff, status, commit, reset rebase, tag
Git Introduction - BarCampPune4/2008
18
Slide 19: Repositories
Setup repositories easily clone, fetch, pull, push Multiple tracking branches over repository Fork other repository
Git Introduction - BarCampPune4/2008
19
Slide 20: Many other tools
Web interface Blame files, who edited Archive the files One important -> git-svn
Git Introduction - BarCampPune4/2008
20
Slide 21: Subversion
git-svn clone svn://repo Do normal git things on it git-svn dcommit git-svn rebase -> to get updates perl bindings and subversion must be installed
Git Introduction - BarCampPune4/2008 21
Slide 22: Now what?
What you can do now?
Start using Git Forget SVN/CVS Get advantages of distributed source control system
Git Introduction - BarCampPune4/2008
22
Slide 23: Resources
Git Home Page git.or.cz Wikipedia entry on git en.wikipedia.org/wiki/Git_(Software) Linus Torwalds Git talk at Google vid. youtube.com/watch?v=4XpnKHJAok8
Git Introduction - BarCampPune4/2008
23
Slide 24: Git is Future!
Git Introduction - BarCampPune4/2008
24
Slide 25: Thank you! Questions?
Git Introduction - BarCampPune4/2008
25