dirty 1.) rc -c 'git '^ 
note the space after git

idiomatic 1.) use win(1), pass 'command' argument a script which executes git for each line of input as arguments through rc(1) to evaluate the arguments in the usual way

2.) you can pass complex regular expression as argument to grep(1), without rc(1) choking on metacharacters.
the argument is guaranteed not to have unforeseen side effects.


example win(1) script:
#!/usr/bin/env rc

orig_ifs = $ifs

PAGER=cat

while (true) {
    ifs=''
    echo -n 'git> '
    line = `{read}
    ifs = $orig_ifs
    rc -c 'git '^ $line
}