2009-10-31 19 views
10

Voglio vedere un elenco di tutte le modifiche che il prossimo push farebbe. git status sembra sapere che ho fatto dei commit locali ... come faccio a mostrarmi cosa sono? Quello che ho fatto è qualcosa di simile:git: come vedere le modifiche che il prossimo push invierà

% git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 7 commits. 
... 

D'accordo, ha detto commit. Allora faccio

% git diff --name-status HEAD~7 
M  bin/bench 
M  scala/001/02.scala 
M  scala/007/01.scala 
A  scala/010/01.scala 
A  scala/016/01.scala 
A  scala/020/01.scala 

Esiste un modo più conciso per fare questo? Sono abn usato per svn dove "svn diff" farebbe essenzialmente questo, perché non c'è nessuna idea di staged/nonstaged.

risposta

10
git diff --name-status origin/master 

Si noti che è anche possibile definire un alias nel file di configurazione git, come ad esempio il "Newmaster" uno:

git config alias.newmaster "diff --name-status origin/master" 

Una volta fatto questo, è possibile utilizzare

git newmaster 

per ottenere quello che vuoi.

+0

Grazie. Penso che stavo avendo problemi di sintassi con questo. Stavo facendo origin.master e master di origine, ma non /. E sembra che farei un'origine di recupero per ottenere tutto pronto per questa diffusione? – Trenton

+1

Si potrebbe anche voler eseguire prima un git fetch, nel caso in cui la copia locale dell'origine/master non sia aggiornata. – Neall

1

Non è quello che è "git cherry"?

avro 'spinta?' Un guscio alias:

$ type push? 
push? is aliased to `git cherry -v origin/master' 

Che non ti dà le esatte modifiche apportate, ma la vostra buona messaggi di commit dovrebbero dire abbastanza.

0

Ciò elencherà tutti i commit che esistono nella vostra filiale, ma non in origin/master

git log origin/master ..

Problemi correlati