ver tipos tag pendientes modificados log etiquetas crear commits archivos git dvcs

tipos - ¿Cómo puedo ver las confirmaciones entrantes en git?



git ver commits pendientes (6)

Posible duplicado:
Usando Git, ¿cómo encuentro archivos modificados entre locales y remotos?

¿Cómo puedo ver las confirmaciones entrantes en git? O aún mejor, ¿ven lo que acabo de git fetch ?

Editar: para aclarar la pregunta: alguien me dice que, para obtener algunas correcciones, debería sacar de su repositorio. Mi objetivo es ver cuáles son sus cambios antes de aceptarlos. git pull se fusiona automáticamente, que no es lo que quiero. git fetch los agarrará sin fusionarse, pero no estoy seguro de cómo ver exactamente qué acabo de extraer. La razón para el fraseo original es que normalmente uso Mercurial, donde el comando sería hg incoming <repo name here> -a comando por el cual git parece carecer de un análogo.


Cuando alguien le dice que tire, le darán la URL del repositorio y una sucursal (el valor predeterminado es el master ).

Solo lo haría

git fetch URL branch

seguido por uno (en orden decreciente de preferencia):

# note 3 dots in next 3 commands gitk HEAD...FETCH_HEAD # shows all commits on both sides since the "fork" point gitk --cherry-pick HEAD...FETCH_HEAD # as above but skips identical patches so you really see the differences git log --graph --boundary --left-right --cherry-pick --decorate HEAD...FETCH_HEAD # I have a nice alias for this; it''s the text mode eqvt of the above

También uso " tig " a veces, pero este uso específico (ver ambos lados) no está bien servido por tig .

Sin embargo, si lo reduce a dos puntos (que puede coincidir con su pregunta real más de cerca, aunque todavía prefiero las versiones de 3 puntos), puede hacer

tig HEAD..FETCH_HEAD

Aquí están los alias para su conveniencia:

incoming = !sh -c ''git fetch && git log --graph --boundary --left-right --cherry-pick --decorate HEAD..FETCH_HEAD'' outgoing = !sh -c ''git fetch && git log --graph --boundary --left-right --cherry-pick --decorate FETCH_HEAD..HEAD''



Es posible que desee examinar la diferencia entre dos repositorios. Suponiendo que tiene un ''maestro'' de sucursal local y un ''origen / máster'' de seguimiento remoto, donde otras personas confirman su código, puede obtener estadísticas diferentes sobre las diferencias de las dos ramas:

git diff --summary master origin/master git diff --stat master origin/master git diff --numstat master origin/master git diff --dirstat master origin/master git diff --shortstat master origin/master git diff --name-only master origin/master git diff master origin/master


No existe tal cosa como los "commits entrantes" que los usuarios cometen localmente y los presionan. Abriría gitx o gitk (que viene con git) y vería cómo se ve el repositorio ... Creo que eso le dará una visión clara.

uso: gitk --all para ver.


También puede estar interesado en git whatchanged que proporciona una buena visión general de los cambios que se han realizado en algún rango de commits.

Si desea revisar lo que está a punto de extraer, realice primero una git fetch , que solo actualiza las ramas de seguimiento locales para el repositorio remoto (y no cualquiera de sus ramas), y luego utilice cualquier comando que muestre las nuevas confirmaciones que estás a punto de tirar. Por ejemplo:

git whatchanged ..origin

Esta es una abreviatura para mostrar los compromisos entre "el ancestro común de donde sea que esté ahora y el origen" a través de "origen".


incoming no es un mapeo directo en git porque puedes (y a menudo lo hago) tener múltiples repos de los que estás extrayendo, y cada repos tiene múltiples ramas.

Si hubiera un equivalente del comando entrante de hg, probablemente sería este:

git fetch && git log ..origin/master

Es decir, "toma todas las cosas de la corriente ascendente y luego compara mi rama actual con la rama principal aguas arriba".

Del mismo modo, saliente sería este:

git fetch && git log origin/master..

En la práctica, simplemente escribo esos datos manualmente (aunque creé un alias para uno de ellos) porque es fácil tener muchas sucursales locales rastreando y siendo rastreados por muchas sucursales remotas y sin problemas para mantenerlo unido.