Re: how to squash two commits into only one
- From
- Tor Arntsen <tor@spacetec.no>
- Date
- Mar 29, 2011, 06:15 UTC
- Message-ID
- <AANLkTi=5e4WUuZHcEJD50yJTw2eyYN_dN1S_7z62qy88@mail.gmail.com>
- In-Reply-To
- <AANLkTi=B37GABBc-YWfJN29Mh0kx4Tn8KenD5dJFo9j1@mail.gmail.com>
On Tue, Mar 29, 2011 at 07:42, Lynn Lin <lynn.xin.lin@gmail.com> wrote:
Show 7 quoted lines
> All, > I have only have two commits in repo,then I want to squash these > two commit into one through git rebase -i .However it fails > > $ git rebase -i HEAD^1 > it only show up one commit so can't squash (can't squash without a > previous commit)
To squash commits with rebase -i: git log (identify the commit you wish to squash to) git rebase -i <the commit _before_ the one you want to squash to)
e.g. git log 1 2 3 4 .. you want to squash 2 into 3: Use git rebase -i 4 (4 is really a hash of course).
HEAD^some-value is OK sometimes but when I want to fix stuff down in the commit chain somewhere I find it simpler to use the hashes - just mark and paste. Anyway the real point is that with rebase -i you must specify the last commit _before_ the range you want to work with.
-Tor