Re: Git in a Nutshell guide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, 22 Nov 2007, Jonas Juselius wrote:

> Suppose I have been working on some topic branch for a while and been 
> overly trigger happy, i.e. I have produced a ridiculous number of 
> commits along the way. At some point when I'm done I want to publish my 
> changes, but doing so would create an insanely obese history full of 
> near nonsense commits. What I want to do is to slim down the commit log 
> into pieces that actually makes sense. What is the preferred (or best, 
> most convenient) way of doing this? The way I have done this previously 
> is essentially:
> 
> 1.  git branch -m mytopic tmp_mytopic  # rename
> 2.  git branch mytopci tmp_mytpoic~42  # go back in history
> Loop:
> 3.1 git log; git diff; git annotate...
> 3.2 git diff tmp_mytopic~42..tmp_mytopic~33 | git-apply
> 3.3 git commit -m "sane commit message" -a
> 4.  git branch -d tmp_mytopic
> 
> If I need to reorder commits I can first use git-rebase -i to get
> everything streamlined. There must be a better way of doing this, right?

Yes, you can squash commits into previous commits with rebase -i.  Just 
replace the second "pick" command (and if you want to squash more than 
two, the later commands, too) with "squash".

Hth,
Dscho

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux