¿Cómo descargar un único commit-diff de GitHub?

104

Me gustaría obtener una única confirmación (llamémosla ${SHA}) de GitHub a través de la interfaz web.

Por ejemplo, algo como:

$ git clone http://github.com/foo/bar
$ cd bar
$ git format-patch -o .. ${SHA}~1..${SHA}
$ cd ..
$ rm -rf bar

... pero sin tener que clonar todo el repositorio (el repositorio en cuestión es grande).

Obviamente, GitHub puede mostrar la diferencia de una confirmación determinada a través de la interfaz web, pero ¿cómo puedo extraerla en un archivo diff (unificado) (idealmente, con el mensaje de confirmación intacto)?

umläute
fuente
2
posible duplicado de la solicitud de extracción de Github
ChillarAnand
1
@ChillarAnand: No, no lo es. Su enlace trata sobre una solicitud de extracción y no para una diferencia de una única confirmación.
usr1234567
@ usr1234567 Sin embargo, las preguntas podrían fusionarse
Antonio

Respuestas:

210

OK, encontré la respuesta yo mismo.

Agregar .patch(o .diff) a la URL de confirmación dará un buen parche:

https://github.com/foo/bar/commit/${SHA}.patch

Gracias a diez cosas que no sabías que Git y GitHub podían hacer ...

umläute
fuente
3
@einnocent sí, por eso la respuesta dice ".patch (o .diff)"
umläute
6

Descubrí que tenía que agregar una / al final, es decir

https://github.com/foo/bar/commit/${SHA}.patch/
ene
fuente
4
a partir de hoy, no puedo reproducir esto: github.com/torvalds/linux/commit/… (sin barra diagonal) funciona bien para mí (probado con firefox, cURL y wget)
umläute