Pro Git

Pro Git

🎯 ¿Cansado de los anuncios?
Elimínalos ahora 🚀

Si el repositorio está en GitHub y tienes Pull Requests abiertos, tendrás estas referencias con el prefijo refs/pull. Básicamente, son ramas, pero ya que no están bajo refs/heads/, no las obtendrás normalmente cuando clonas o te bajas el repositorio del servidor, ya que el proceso de obtención las ignora.

Hay dos referencias por cada Pull Request, la que termina en /head apunta exactamente al último commit de la rama del Pull Request. Así si alguien abre un Pull Request en el repositorio y su rama se llama bug-fix apuntando al commit a5a775, en nuestro repositorio no tendremos una rama bug-fix (puesto que está en el fork) pero tendremos el pull/<pr#>/head apuntando a a5a775. Esto significa que podemos obtener fácilmente cada Pull Request sin tener que añadir un montón de remotos.

Ahora puedes obtenerlo directamente.

$ git fetch origin refs/pull/958/head From https://github.com/libgit2/libgit2 * branch refs/pull/958/head -> FETCH_HEAD

Esto dice a Git, “Conecta al remoto origin y descarga la referencia llamada refs/pull/958/head.” Git obedece y descarga todo lo necesario para construir esa referencia, y deja un puntero al commit que quieres bajo .git/FETCH_HEAD. Puedes realizar operaciones como git merge FETCH_HEAD aunque el mensaje del commit será un poco confuso. Además, si estás revisando un montón de Pull Requests, se convertirá en algo tedioso.


👉 Descargar el audiolibro GRATIS en Amazon
Reportar problema / Sugerencias
🧠 Hacer Trivia

eXTReMe Tracker