Changes for page Getting Started with Git

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

From version 196.1
edited by David Avendasora
on 2011/04/25 15:06
Change comment: There is no comment for this version
To version 194.1
edited by Kieran Kelleher
on 2011/04/29 12:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.avendasora
1 +XWiki.kieran
Content
... ... @@ -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!//
13 +//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  
... ... @@ -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 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 +== 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!
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]]