Wiki source code of Getting Started with Git

Version 195.1 by Kieran Kelleher on 2011/04/29 12:14

Hide last authors
Kieran Kelleher 194.1 1 = Got Git? If not, Get Git here =
Kieran Kelleher 169.1 2
Kieran Kelleher 194.1 3 Just pick the latest release for your Mac architecture here:
4 [[OS X dmg Installer>>http://code.google.com/p/git-osx-installer/]]
Kieran Kelleher 135.1 5
Kieran Kelleher 194.1 6 = Learning About git =
Kieran Kelleher 135.1 7
Kieran Kelleher 194.1 8 Start here:
Ray Kiddy 175.1 9
Kieran Kelleher 194.1 10 * [[Excellent Concept Tutorial on Git>>http://www.eecs.harvard.edu/~~cduan/technical/git/]]
Kieran Kelleher 135.1 11
Kieran Kelleher 194.1 12 Have a Good Laugh here as Linus Torvalds Evangelizes git:
13 //this is more fun than learning, but gives you insight into the motivation behind git//
Ray Kiddy 171.1 14
Kieran Kelleher 165.1 15 * [[Linus Torvalds talks about git>>http://www.youtube.com/watch?v=4XpnKHJAok8]]
16
Kieran Kelleher 194.1 17 Learn the basics here:
Kieran Kelleher 165.1 18
Kieran Kelleher 194.1 19 * [[Everyday GIT With 20 Commands Or So>>http://www.kernel.org/pub/software/scm/git/docs/everyday.html]]
20 * [[Free Online Pro Git book>>http://progit.org/book/]]
Kieran Kelleher 165.1 21
Kieran Kelleher 194.1 22 Get the Detailed Reference Materials Here:
Kieran Kelleher 165.1 23
Kieran Kelleher 194.1 24 * [[Git User Manual>>http://www.kernel.org/pub/software/scm/git/docs/user-manual.html]]
25 * [[Git Reference>>http://gitref.org/index.html]]
Kieran Kelleher 165.1 26
Kieran Kelleher 194.1 27 Git Cheat Sheets
Kieran Kelleher 135.1 28
Kieran Kelleher 194.1 29 * [[http://cheat.errtheblog.com/s/git/]]
30 * [[http://ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png]]
Ray Kiddy 171.1 31
Kieran Kelleher 194.1 32 Checkout (Clone) Wonder Source Code, Build and Install
Ray Kiddy 171.1 33
Kieran Kelleher 194.1 34 * [[Instructions>>http://wiki.objectstyle.org/confluence/display/WONDER/Downloading%2C+Building%2C+Installing+and+Upgrading+Wonder+Source+Code]]
David Avendasora 188.1 35
Kieran Kelleher 194.1 36 = Git Goodies =
Pascal Robert 192.1 37
Kieran Kelleher 155.1 38 === Git Bash Completion ===
39
40 This is really an absolute necessity and a **huge** productivity improvement. Basically you need the bash completion script from the source tarball and use your shell profile to include it whenever you open a shell. See the **Auto-Completion** section on this page:
41 [[Git Bash Auto-Completion>>http://progit.org/book/ch2-7.html]]
42
Kieran Kelleher 137.1 43 === GitX git GUI ===
44
45 GitX is an awesome FREE history viewer made for OS X. It is a better way to visualize your branch and commit history of your git repository. However, power users (aka "cool kids") will probably only use it for history viewing while they continue to use the terminal command line for checkouts, branching, staging, rebasing and committing.
Kieran Kelleher 135.1 46 [[GitX Home Page>>http://gitx.frim.nl/]]
47
Kieran Kelleher 137.1 48 === Open in GitX ===
Kieran Kelleher 135.1 49
50 [[Open In GitX Finder Droplet>>http://code.google.com/p/git-osx-installer/wiki/OpenInGitX]]
51
Kieran Kelleher 194.1 52 == Git Tower ==
Kieran Kelleher 135.1 53
Kieran Kelleher 194.1 54 For those of you who just get panic attacks at the thought of using the Terminal, there is a commercial app for that:
55 [[Git Tower>>http://www.git-tower.com/]]
Kieran Kelleher 135.1 56
David Avendasora 188.1 57 I use Tower (bought it), but only for committing and fixing merge conflicts. I think Tower misses quite a bit of the flagship feature of GIT: branches. You can't see a branch tree graphically, like you can with gitX or even the command line (git log -graph -color, IIRC). But it's cool for committing. For everything else I use command line.
58 Miguel Arroz
Kieran Kelleher 169.1 59
Kieran Kelleher 194.1 60 == Using git locally on a Subversion Working Copy ==
Kieran Kelleher 137.1 61
Kieran Kelleher 194.1 62 OK, so you are addicted to git, and now you have to work on a team project that is hosted in a remote subversion repository ... and it is making you depressed :-( . Well, you can use manage your local svn working copy using git and be happy again
63
64 I recommend you just use the [[git+svn protocol>>http://www.lostechies.com/blogs/derickbailey/archive/2010/02/03/branch-per-feature-how-i-manage-subversion-with-git-branches.aspx]].
65
66 == Git Concepts ==
67
David Avendasora 188.1 68 === Rebasing ===
Kieran Kelleher 137.1 69
David Avendasora 188.1 70 Rebasing is unique to git. There is no counterpart in Subversion.
71
72 Rebasing cuts down on the spaghetti history of merging and helps to keep history nice and linear.
73
74 Conceptually, when I rebase my current branch A on another branch B, git removes all my branch A commits back to the common ancestor of A and B, stashes those commits away temporarily, moves the head of the current branch A to the tip of the other branch B, and then re-applys all my stashed commits as **new commit** patches to my branch B.
75
76 However before using it on work that is shared with others you MUST follow the these rules, otherwise you will screw everyone else on the project.
77
Kieran Kelleher 194.1 78 * If you don't understand rebasing, don't use it!
79 * Use rebase on **private** branches
80 * Use rebase for commits that have **not been pushed** to a remote repo
81
82 [[http://progit.org/book/ch3-6.html]]
83 [[http://www.eecs.harvard.edu/~~cduan/technical/git/git-5.shtml]]
84 [[http://book.git-scm.com/4_rebasing.html]]
85 [[http://blip.tv/file/4094727]]