2016-03-07 11 views
12

Quando eseguo uno git rebase -i su un ramo condiviso con un collega, spesso desidero semplicemente rebase i miei commit. Tuttavia, poiché lo strumento rebase interattivo non aggiunge le informazioni dell'autore al file rebasing (tutto t dà è l'hash del commit e la descrizione), finisco per dover controllare il commit in un'altra scheda per vedere se sono mie o meno.C'è un modo per elencare l'autore del commit in `git rebase -i` (interattivo)?

C'è un modo per dare a git rebase -i un flag --format (o qualcosa di simile), per includere l'autore?

risposta

13

A partire da git 2.6, git rebase -i utilizza rebase.instructionFormat (valore predefinito %s) per generare il testo dopo pick NNNNN....

Poiché questo è un elemento git-config, è possibile impostare il valore per repository, per te, in generale, o anche utilizzando l'opzione -c su una base di una volta.

+9

'config git rebase.instructionFormat --add "(% un <%ae>)% s"' (per i pigri) – jdknight

5

Modificare il .gitconfig per aggiungere:

[rebase] 
    instructionFormat = %s [%an] 

che mostrerà il messaggio breve commit e poi il nome dell'autore tra parentesi quadre.

1
git -c "rebase.instructionFormat=(%an <%ae>) %s" rebase -i COMMIT_HASH 

uscita Interactive è andare a guardare come segue:

pick b596a7b (Nik Sumeiko <[email protected]>) Refactors type checking utilities 
pick c8b815f (Attila Kerekes <[email protected]>) Implements commit message linting 
+0

È questo comando meglio in qualche modo rispetto alla risposta accettata ('git config --add rebase.instructionFormat" (% a <%ae>)% s "'), o è solo un altro modo per skinare il gatto? – machineghost

+2

È solo oneliner per fare copia/incolla SODD (Stack Overflow Driven Development) –

Problemi correlati