From: linux@horizon.com Date: Thu, 10 May 2007 21:55:15 GMT Subject: Re: Merging commits together into a super-commit Message-ID: <20070510215515.3084.qmail@science.horizon.com> Er... why is everyone making this so complex? git checkout trunk # Switch to "trunk" git checkout branch . # Overwrite with "branch", but stay on "trunk" git commit Now branch is the same tree object as "branch", but without the history. Of course, you could be even nastier and di a direct git-commit-tree branch^{tree} -p HEAD < commit_message But that's not really necessary. Starting from the branch, using the high-level commands is a bit awkward, but it's easy enough to: git-update-ref HEAD trunk git-commit