2009-10-31 9 views
10

Quiero ver una lista de todos los cambios que el próximo push haría. git status parece saber que he hecho confirmaciones locales ... ¿cómo puedo mostrar qué son esas? Lo que he estado haciendo es algo como esto:git: cómo ver los cambios, la próxima inserción enviará

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

De acuerdo, dijo confirmaciones. Entonces lo hago

% 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 

¿Hay una manera más concisa de hacer esto? Estoy acostumbrado a svn donde "svn diff" esencialmente haría esto, porque no hay ninguna noción de etapas/sin escena.

Respuesta

10
git diff --name-status origin/master 

Tenga en cuenta que también puede definir un alias en el archivo de configuración de Git, tales como el "Newmaster" uno:

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

Una vez hecho esto, puede utilizar

git newmaster 

para obtener lo que desea.

+0

Gracias. Creo que estaba teniendo problemas de sintaxis con esto. Estaba haciendo origin.master y master de origen, pero no /. ¿Y parece que haría un origen de búsqueda de idiotas para tenerlo todo listo para esta diferencia? – Trenton

+1

Es posible que también desee hacer una búsqueda de git primero, en caso de que su copia local de origen/maestro esté desactualizada. – Neall

1

¿No es para lo que es 'git cherry'?

que tienen empuje '?' Un shell alias:

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

Eso no le da los cambios exactos realizados, pero su buena cometer mensajes deben decir lo suficiente.

0

Esto mostrará una lista de todas las confirmaciones que existen en su rama, pero no en origin/master

origen git log/master ..

Cuestiones relacionadas