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
on 2011/04/25 15:06
Change comment:
There is no comment for this version
To version 200.1
edited by David Avendasora
on 2011/04/29 12:50
on 2011/04/29 12:50
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +1,6 @@ 1 -= Got Git? If not,Get Githere=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 +* MacOS X: [[OS X dmg Installer>>http://code.google.com/p/git-osx-installer/]] 5 5 6 6 = Learning About git = 7 7 ... ... @@ -10,7 +10,7 @@ 10 10 * [[Excellent Concept Tutorial on Git>>http://www.eecs.harvard.edu/~~cduan/technical/git/]] 11 11 12 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 !//12 +//this is more fun than learning, but gives you insight into the motivation behind git// 14 14 15 15 * [[Linus Torvalds talks about git>>http://www.youtube.com/watch?v=4XpnKHJAok8]] 16 16 ... ... @@ -29,12 +29,14 @@ 29 29 * [[http://cheat.errtheblog.com/s/git/]] 30 30 * [[http://ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png]] 31 31 32 -Checkout (Clone) Wonder Source Code , Build and Install31 +Checkout (Clone) Wonder Source Code 33 33 34 34 * [[Instructions>>http://wiki.objectstyle.org/confluence/display/WONDER/Downloading%2C+Building%2C+Installing+and+Upgrading+Wonder+Source+Code]] 35 35 36 -= Git Goodies = 35 += Git Goodies for WebObjects Developers = 37 37 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 38 + 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: ... ... @@ -54,11 +54,32 @@ 54 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 55 [[Git Tower>>http://www.git-tower.com/]] 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 Arroz58 +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. 59 + Miguel Arroz 59 59 60 -= Using git locally on a Subversion Working Copy = 61 +== 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 !63 +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]]. 66 + 67 +== Git Concepts == 68 + 69 +=== Rebasing === 70 + 71 +Rebasing is unique to git. There is no counterpart in Subversion. 72 + 73 +Rebasing cuts down on the spaghetti history of merging and helps to keep history nice and linear. 74 + 75 +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. 76 + 77 +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. 78 + 79 +* If you don't understand rebasing, don't use it 80 +* Use rebase on **private** branches 81 +* Use rebase for commits that have **not been pushed** to a remote repo 82 + 83 +[[http://progit.org/book/ch3-6.html]] 84 +[[http://www.eecs.harvard.edu/~~cduan/technical/git/git-5.shtml]] 85 +[[http://book.git-scm.com/4_rebasing.html]] 86 +[[http://blip.tv/file/4094727]]