Git – Encuentra qué confirmaciones son locales

¿Cómo sé cuál de las confirmaciones locales no están en remoto?

Por, git log veo el historial de commits, pero quiero encontrar si el último commit ya está insertado en el server o solo uno local. ¿Hay alguna manera de saber eso sin ir al server y hacer coincidir con la historia local?

Sí, puedes verificarlo por git log origin/master..master .

Si tiene salida, entonces el logging de muestra es el que no presionó a distancia. Si no hay salida, eso significa que su twig actual es la misma que la maestra.

Nota: si el control remoto git también es usado por otros, será mejor que busque el origen y luego compare.

Copie el último hash de confirmación, y vea la list de twigs (es) que existe.
Si ve el remote/origin/<branch-name> entonces ha presionado la last commit .

 $ git fetch $ git log # copy last commit-hash $ git branch -a --contains <last-commit-hash> # Or, (skip copying commit-hash) $ git fetch && git branch -a --contains $(git rev-list -n 1 HEAD) 

Git tiene una serie de atajos, por ejemplo HEAD se refiere a la punta de la twig actual, mientras que @ {upstream} se refiere al jefe de la twig remota (o la última confirmación realizada). Estos accesos directos son invaluables para usar en alias, por ejemplo, por lo que no está bloqueado para usar nombres de twigs como nombres remotos maestros y fijos como origen .

Usando git log;

git log @{upstream}..HEAD

Yo uso el siguiente

git config alias.changes "log --graph --abbrev-commit --decorate --date=relative --pretty=terse @{upstream}...HEAD"

Entonces simplemente uso

git changes

para enumerar los cambios sin empujar en mi twig actual.

Nota : si @ {upstream} no parece funcionar, preste atención a la opción -u o --set-upstream en git push . El uso de git push -u origin master asegurará que el origen / maestro se considere el repository en sentido ascendente para Branch Master . Entonces los atajos @ {upstream} deberían funcionar correctamente.

Finalmente, tengo una pista,

git status

 On branch dev Your branch is ahead of 'origin/dev' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working directory clean 

El estado de Git también muestra el número de confirmaciones de su sucursal actual desde el remoto.

Gracias a @Danh por sus comentarios