All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephan Beyer <s-beyer@gmx.net>
To: John Tapsell <johnflux@gmail.com>
Cc: Teemu Likonen <tlikonen@iki.fi>, Git Mailing List <git@vger.kernel.org>
Subject: Re: git rebase -i
Date: Mon, 23 Feb 2009 01:32:45 +0100	[thread overview]
Message-ID: <20090223003245.GC21616@leksak.fem-net> (raw)
In-Reply-To: <43d8ce650902190152t6162593x8d0920be0e6d7a6d@mail.gmail.com>

Hi,

> > I think it's better to use aliases for this kind of personal things:
> >
> >    git config --global alias.my-rebase "rebase -i HEAD~10"
> >
> > Now you can do:
> >
> >    git my-rebase
> >
> 
> I'm trying to make git more obvious and easier to use, rather than
> find any solution :-)

As Wincent pointed out, git rebase -i without arguments isn't that
obvious or intuitive.

If you was looking for a solution, I'd be telling you that I use a
simple script "git-tickle-last" for this purpose:

--- 8< ---
#!/bin/sh
default=10

get_safe_num () {
	n=0
	git rev-list --parents "HEAD~$default.." | while read line
	do
		i=0
		for p in $line
		do
			i=$((i+1))
		done
		if test "$i" -gt 2
		then
			echo $n
			return 1
		fi
		n=$((n+1))
	done && echo $default
}

git rebase -i "HEAD~$(get_safe_num)"
--- >8---

It makes sure (I hope) that no merges get into the list, but it doesn't
care about published changes (i.e. tracking branch behavior).

I use it because I often reorder or squash commits before I push or
merge.

Regards,
  Stephan

-- 
Stephan Beyer <s-beyer@gmx.net>, PGP 0x6EDDD207FCC5040F

  parent reply	other threads:[~2009-02-23  0:34 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-19  9:21 git rebase -i John Tapsell
2009-02-19  9:36 ` Wincent Colaiuta
2009-02-19  9:55   ` John Tapsell
2009-02-19  9:59     ` Wincent Colaiuta
2009-02-19 10:11       ` Jeff King
2009-02-19 10:15         ` Wincent Colaiuta
2009-02-19 10:20           ` Jeff King
2009-02-19 14:57             ` Theodore Tso
2009-02-19  9:50 ` Teemu Likonen
2009-02-19  9:52   ` John Tapsell
2009-02-19 14:02     ` Sitaram Chamarty
2009-02-19 14:24       ` John Tapsell
2009-02-23  0:32     ` Stephan Beyer [this message]
2009-02-19 10:00 ` Pieter de Bie
2009-02-19 10:09   ` Junio C Hamano
2009-02-19 16:12     ` Marc Branchaud
2009-02-19 17:53       ` Nazri Ramliy
2009-02-19 10:01 ` Thomas Rast
2009-02-19 10:03   ` John Tapsell
2009-02-19 10:07 ` Jeff King
2009-02-19 20:55 ` Jay Soffian
2009-02-19 21:04   ` Johannes Schindelin
2009-02-19 21:07     ` Jay Soffian
2009-02-19 23:53   ` Giuseppe Bilotta
2009-02-20  0:07     ` Johannes Schindelin
2009-02-20  0:11   ` Junio C Hamano
2009-02-20  0:26     ` Jay Soffian
2009-02-20 11:02       ` Michael J Gruber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090223003245.GC21616@leksak.fem-net \
    --to=s-beyer@gmx.net \
    --cc=git@vger.kernel.org \
    --cc=johnflux@gmail.com \
    --cc=tlikonen@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.