Changes for page Getting Started with Git
Last modified by Bastian Triller on 2013/05/21 17:24
From version 187.1
edited by Kieran Kelleher
on 2011/04/19 17:03
on 2011/04/19 17:03
Change comment:
There is no comment for this version
To version 188.1
edited by David Avendasora
on 2011/04/29 15:37
on 2011/04/29 15:37
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -git 1 +Getting Started with Git - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. kieran1 +XWiki.avendasora - Content
-
... ... @@ -1,36 +1,58 @@ 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 +* 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 -= Learn ingAboutgit =8 += Learn 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 +* 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/]] 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 - Learnthebasicshere: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 - GettheDetailed ReferenceMaterialsHere: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 += Use Git with a Subversion Project = 26 26 27 -Git CheatSheets37 +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 28 28 29 -* [[http://cheat.errtheblog.com/s/git/]] 30 -* [[http://ktown.kde.org/%7Ezrusin/git/git-cheat-sheet-medium.png]] 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]]. 31 31 32 -= Git Goodies = 41 += Git Goodies for WebObjects Developers = 33 33 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 + 45 +=== EGit === 46 + 47 +EGit is a plugin for Eclipse 3.6. It's not as good as Tower or GitX, but you can use it for most tasks (add, commit, push, pull). You can install by: 48 + 49 +1. In Eclipse, select //Help > Install New Sofware...// 50 +1. Select the "Helios" download site from the Work with: combo box 51 +1. Expand the "Collaboration" group 52 +1. Select the EGit plugin, click Next 53 +1. Complete the install process and agree to the license, etc. 54 +1. Restart Eclipse. 55 + 34 34 === Git Bash Completion === 35 35 36 36 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: ... ... @@ -45,16 +45,29 @@ 45 45 46 46 [[Open In GitX Finder Droplet>>http://code.google.com/p/git-osx-installer/wiki/OpenInGitX]] 47 47 48 -== Git Tower == 70 +=== Git Tower === 49 49 50 -For those of you who just get panic attacks at the thought of using the Terminal, there is a commercial app for that: 51 -[[Git Tower>>http://www.git-tower.com/]] 72 +[[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. 52 52 53 -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.54 - -Miguel Arroz74 +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. 75 + Miguel Arroz 55 55 56 -= U sing git locally on a SubversionWorkingCopy=77 += Unique Git Concepts = 57 57 58 - OK,so you areaddicted to git, and now you have to work on a team project that is hosted in a remote subversion repository ...and it ismakingyou depressed :-(. Well, you can use manage your local svn working copy using git and be happy again!79 +=== Rebasing === 59 59 60 -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]]. 81 +Rebasing is unique to git. There is no counterpart in Subversion. 82 + 83 +Rebasing cuts down on the spaghetti history of merging and helps to keep history nice and linear. 84 + 85 +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. 86 + 87 +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. 88 + 89 +* If you don't understand rebasing, don't use it You can learn more about it here: 90 +** [[http://progit.org/book/ch3-6.html]] 91 +** [[http://www.eecs.harvard.edu/~~cduan/technical/git/git-5.shtml]] 92 +** [[http://book.git-scm.com/4_rebasing.html]] 93 +** [[http://blip.tv/file/4094727]] 94 +* Use rebase only on **private** branches 95 +* Use rebase only for commits that have **not been pushed** to a remote repo