On 1/9/06, Linus Torvalds <torvalds@osdl.org> wrote: > And then do > > git-rebase linus > > to rebase your development branch to mine. > > THIS is what "rebase" is for. It sounds like what you really want to do is > not have a development branch at all, but you just want to track my tree > and then keep track of a few branches of your own. In other words, you > don't really have a "real" branch - you've got an odd collection of > patches that you really want to carry around on top of _my_ branch. No? FWIW, I determine whether I should rebase or merge based on + Whether the branch/head I maintain is public. For public repos, I *must* merge carefully as rebase "rewinds" the head and that makes a mess of any repositor tracking me. + Whether the changes on my both sides are significant, and it is semantically meaningful to have a merge. If either side had just a couple of minor commits, rebase makes life a lot easier down the path. If both side clearly saw parallel development, it is more sincere to merge and let that be recorded. + If my attempt to rebase leads to any non-trivial conflicts or co-dependencies, then I definitely cancel the rebase and merge. > Now, in this model, you're not really using git as a distributed system. I'd argue that it is not about distributed or not. It's all in what you want to record in your history. As such, it is a communication device -- and I want to make effective use of it. I guess the question I ask myself is: what will communicate what's happened here most clearly? What will be useful for people to read? In that context, a white-lie here and there simplifying the history a bit where it's not interesting counts as a good thing. cheers, martin - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Mon Jan 09 15:35:03 2006
This archive was generated by hypermail 2.1.8 : 2006-01-09 15:35:10 EST