Changes for page Getting Started with Git

Last modified by Bastian Triller on 2013/05/21 17:24

From version 197.1
edited by David Avendasora
on 2011/04/25 15:06
Change comment: There is no comment for this version
To version 199.1
edited by David Avendasora
on 2011/04/29 13:28
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,40 +1,41 @@
1 -= Got Git? If not, Get Git here =
1 += Got Git? No? Get Git =
2 2  
3 -Just pick the latest release for your Mac architecture here:
4 -[[OS X dmg Installer>>http://code.google.com/p/git-osx-installer/]]
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/]]
5 5  
6 6  = Learning About git =
7 7  
8 -Start here:
10 +* Learn the concepts.
11 +** [[This>>http://www.eecs.harvard.edu/~~cduan/technical/git/]] is an excellent tutorial on the basic concepts behind Git
9 9  
10 -* [[Excellent Concept Tutorial on Git>>http://www.eecs.harvard.edu/~~cduan/technical/git/]]
13 +* Now get 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/]]
11 11  
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!//
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]]
14 14  
22 +* Git Cheat Sheets
23 +** [[http://cheat.errtheblog.com/s/git/]]
24 +** [[http://ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png]]
25 +
15 15  * [[Linus Torvalds talks about git>>http://www.youtube.com/watch?v=4XpnKHJAok8]]
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.//
16 16  
17 -Learn the basics here:
29 += Get Started with Project Wonder! =
18 18  
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/]]
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!
21 21  
22 -Get the Detailed Reference Materials Here:
33 +* [[Downloading Wonder>>http://wiki.objectstyle.org/confluence/display/WONDER/Getting+the+Wonder+Source+Code]] Wiki Page
23 23  
24 -* [[Git User Manual>>http://www.kernel.org/pub/software/scm/git/docs/user-manual.html]]
25 -* [[Git Reference>>http://gitref.org/index.html]]
35 += Git Goodies for WebObjects Developers =
26 26  
27 -Git Cheat Sheets
37 +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
28 28  
29 -* [[http://cheat.errtheblog.com/s/git/]]
30 -* [[http://ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png]]
31 -
32 -Checkout (Clone) Wonder Source Code, Build and Install
33 -
34 -* [[Instructions>>http://wiki.objectstyle.org/confluence/display/WONDER/Downloading%2C+Building%2C+Installing+and+Upgrading+Wonder+Source+Code]]
35 -
36 -= Git Goodies =
37 -
38 38  === Git Bash Completion ===
39 39  
40 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:
... ... @@ -49,16 +49,35 @@
49 49  
50 50  [[Open In GitX Finder Droplet>>http://code.google.com/p/git-osx-installer/wiki/OpenInGitX]]
51 51  
52 -== Git Tower ==
53 +=== Git Tower ===
53 53  
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/]]
55 +[[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.
56 56  
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
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
59 59  
60 -= Using git locally on a Subversion Working Copy =
60 +== Using git locally on a Subversion Working Copy ==
61 61  
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!
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 63  
64 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 +== Unique Git Concepts ==
67 +
68 +===== Rebasing =====
69 +
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