Wiki source code of Getting Started with Git

Version 190.1 by David Avendasora on 2011/04/29 13:34

Hide last authors
David Avendasora 188.1 1 = Got Git? No? Get Git =
Kieran Kelleher 169.1 2
David Avendasora 188.1 3 * Official Download Site: [[http://git-scm.com/download]]
4 * Direct Download Links:
5 ** MacOS X [[.dmg Binary Installers>>http://code.google.com/p/git-osx-installer/]]
6 ** Microsoft Windows [[.exe Binary Installers>>http://code.google.com/p/msysgit/]]
Kieran Kelleher 135.1 7
David Avendasora 188.1 8 = Learn About Git =
Kieran Kelleher 135.1 9
David Avendasora 188.1 10 * Learn the concepts.
11 ** [[This>>http://www.eecs.harvard.edu/~~cduan/technical/git/]] is an excellent tutorial on the basic concepts behind Git
Ray Kiddy 175.1 12
David Avendasora 188.1 13 * Learn the basics.
14 ** [[Everyday GIT With 20 Commands Or So>>http://www.kernel.org/pub/software/scm/git/docs/everyday.html]]
15 ** [[Free Online Pro Git book>>http://progit.org/book/]]
Kieran Kelleher 135.1 16
David Avendasora 188.1 17 * Get familiar with the reference materials available online
18 ** Official [[Git Documentation>>http://git-scm.com/documentation]] Site
19 ** Official [[Git User Manual>>http://www.kernel.org/pub/software/scm/git/docs/user-manual.html]]
20 ** [[Git Reference>>http://gitref.org/index.html]]
Ray Kiddy 171.1 21
David Avendasora 188.1 22 * Git Cheat Sheets
23 ** [[http://cheat.errtheblog.com/s/git/]]
24 ** [[http://ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png]]
25
Kieran Kelleher 165.1 26 * [[Linus Torvalds talks about git>>http://www.youtube.com/watch?v=4XpnKHJAok8]]
David Avendasora 188.1 27 Have a Good Laugh here as Linus Torvalds Evangelizes git. //NOTE: This isn't really learning, but it is way more fun and gives you insight into the motivation behind git.//
Kieran Kelleher 165.1 28
David Avendasora 190.1 29 = Get Started with Project Wonder! =
Kieran Kelleher 165.1 30
David Avendasora 190.1 31 The best way to learn a new concept is to actually use it, and what better way than to do something practical like clone (checkout) the Project Wonder source code!
Kieran Kelleher 165.1 32
David Avendasora 188.1 33 * [[Downloading Wonder>>http://wiki.objectstyle.org/confluence/display/WONDER/Getting+the+Wonder+Source+Code]] Wiki Page
Kieran Kelleher 165.1 34
David Avendasora 188.1 35 = Use Git with a Subversion Project =
Kieran Kelleher 165.1 36
David Avendasora 188.1 37 OK, so you want to use Git but you are working on a team project that is hosted in a subversion repository ... and it is making you depressed :-( . Well, you can still use Git to manage your local SVN working copy and be happy again
Kieran Kelleher 135.1 38
David Avendasora 188.1 39 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]].
Ray Kiddy 171.1 40
David Avendasora 188.1 41 = Git Goodies for WebObjects Developers =
Ray Kiddy 171.1 42
David Avendasora 188.1 43 This is a list of tools that other WebObjects developers have found to be helpful. It's not a comprehensive list, and if you find things not listed here please add them
44
Kieran Kelleher 155.1 45 === Git Bash Completion ===
46
47 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:
48 [[Git Bash Auto-Completion>>http://progit.org/book/ch2-7.html]]
49
Kieran Kelleher 137.1 50 === GitX git GUI ===
51
52 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 53 [[GitX Home Page>>http://gitx.frim.nl/]]
54
Kieran Kelleher 137.1 55 === Open in GitX ===
Kieran Kelleher 135.1 56
57 [[Open In GitX Finder Droplet>>http://code.google.com/p/git-osx-installer/wiki/OpenInGitX]]
58
David Avendasora 188.1 59 === Git Tower ===
Kieran Kelleher 135.1 60
David Avendasora 188.1 61 [[Git Tower>>http://www.git-tower.com/]] is a commerical app for those of you who just get panic attacks at the thought of using the Terminal.
Kieran Kelleher 135.1 62
David Avendasora 188.1 63 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.
64 Miguel Arroz
Kieran Kelleher 169.1 65
David Avendasora 188.1 66 = Unique Git Concepts =
Kieran Kelleher 137.1 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
78 * If you don't understand rebasing, don't use it You can learn more about it here:
79 ** [[http://progit.org/book/ch3-6.html]]
80 ** [[http://www.eecs.harvard.edu/~~cduan/technical/git/git-5.shtml]]
81 ** [[http://book.git-scm.com/4_rebasing.html]]
82 ** [[http://blip.tv/file/4094727]]
83 * Use rebase only on **private** branches
84 * Use rebase only for commits that have **not been pushed** to a remote repo