Hi, just shiming in, On Tue, Jun 04, 2013 at 09:55:19PM +0100, Terry Jones wrote: > > So when the code is ready, the feature branch including any accumulated > commits (history) will > > get merged - and not a clean diff against the main repo? > > I'm very far from being a git expert. In fact, I'm kind of the opposite - > git and I have a stormy relationship and everyone has to tell me what to do. > > But, I believe this is what git rebase is mainly used for. You can rebase > your branch against an updated master and (I'm guessing) make your changes > look like a single diff. Some people don't like that as it changes history, > others do like it and say yes, that's the point - clean up the history so > the commit log isn't full of tiny changes that were all made in order to > effect some change (i.e., address a given ticket/issue).
This is actually called a "squash" in Git terminology - Git has an option called "--squash" for the "merge" command which precisely do that. This is, FYI, part of the merge policy used by projects like PostgreSQL for example [1] I'm not sure we can exactly say it changes the history: a brand new commit is actually created, which is the sum of all the commits from the branch which is merged, but as I see it, it's as if someone else commited this new feature, and branches become completely throwable in the end. I let the Git manual explain the squash feature (extract from "git help merge"; the second sentence is probably the most useful): --squash, --no-squash Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit or move the HEAD, nor record $GIT_DIR/MERGE_HEAD to cause the next git commit command to create a merge commit. This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus). With --no-squash perform the merge and commit the result. This option can be used to override --squash. Jonathan [1]: http://wiki.postgresql.org/wiki/Committing_with_Git > I'm REALLY far from being a git pro, so someone else should confirm/correct > this. > > Terry _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python