I have made several commits that should really have only been one, but there was a lot of back and forth because of my inherent clumsiness. Is there any way to combine or merge these commits to one?
Thanks!
I have made several commits that should really have only been one, but there was a lot of back and forth because of my inherent clumsiness. Is there any way to combine or merge these commits to one?
Thanks!
Re: Combining/merging commits
xpr1010 schrieb:
> I have made several commits that should really have only been one, but > there was a lot of back and forth because of my inherent clumsiness. > Is there any way to combine or merge these commits to one?
Say, you have this commit series:
...--A--B--C--D
and you want to combine all of them, i.e. the last 4 commits, into a new one, then you can do:
# undo commits, but leave working directory unchanged
$ git reset HEAD~4
# make a new commit
$ git commitBut if you want to combine only A,B,C because D should remain a separate commit (i.e. what you want to combine are *not* the last commits), then use git rebase --interactive, in particular, the 'squash' instruction. You would use this todo list:
pick A
squash B
squash C
pick D-- Hannes
Re: Combining/merging commits
Worked. Thanks! :)
On 15 Apr, 08:37, Johannes Sixt <j.s...@viscovery.net> wrote:
> xpr1010 schrieb: > > > I have made several commits that should really have only been one, but > > there was a lot of back and forth because of my inherent clumsiness. > > Is there any way to combine or merge these commits to one? > > Say, you have this commit series: > > ...--A--B--C--D > > and you want to combine all of them, i.e. the last 4 commits, into a new > one, then you can do: > > # undo commits, but leave working directory unchanged > $ git reset HEAD~4 > # make a new commit > $ git commit > > But if you want to combine only A,B,C because D should remain a separate > commit (i.e. what you want to combine are *not* the last commits), then > use git rebase --interactive, in particular, the 'squash' instruction. You > would use this todo list: > > pick A > squash B > squash C > pick D > > -- Hannes > > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html