From: Felipe Contreras Date: Sat, 25 Apr 2009 11:11:58 GMT Subject: Re: What are branches? Message-ID: <94a0d4530904250411k7cb074baidcc5c7d9710115ec@mail.gmail.com> In-Reply-To: On Sun, Apr 19, 2009 at 6:17 PM, Johannes Schindelin wrote: > Hi, > > if you're like me, you used Git for _way_ too long to really understand > how anybody can say that Git is hard to learn.  The concepts underlying > Git have sunk so deep that I do not question them anymore. > > But it is important to keep in mind that our concept of branches is not > intuitive: > > http://longair.net/blog/2009/04/16/git-fetch-and-merge/ > > In particular, we have some pretty confusing nomenclature when it comes to > branches, and we might want to think how to improve the situation. > > Food for thought on a lazy Sunday afternoon. Completely agree. The problem is that git doesn't really have branches. In my mind a true branch has a divergence start-point from another branch, so if you rebase a branch, it must be from the start-point. What git has been referring to "branches" are actually mere references. That's why 'git rebase' needs either a start-point specified manually, or it will need to travel the acyclic graph finding commits that are not already in the graph of the new start-point. AFAIK TopGit makes true branches possible in git. -- Felipe Contreras