Pregunta

En la sección Tirar de cambios aguas arriba en ayuda. Github's Bifurcando un proyecto afirma:

Ha pasado algo de tiempo, el repositorio ascendente ha cambiado y desea actualizar su bifurcación antes de enviar un nuevo parche. Hay dos maneras de hacer esto:

$ git fetch upstream master

$ git merge upstream/master

¿Por qué están incluyendo master en el comando de búsqueda? He mirado el git help fetch información pero no entiendo qué incluyendo master lo hace. Gracias.

¿Fue útil?

Solución

Que te permite:

  • Actualice su versión local de la rama Master Upstream solamente (a diferencia de la actualización todos ramas del repositorio aguas arriba, que pueden ser más largos)
  • sin activar una fusión de inmediato (A diferencia del comando de extracción)

los git merge Luego intentará fusionar esa versión local del maestro ascendente a su rama de Repo Master.

Así que aquí, el maestro es, para el fetch Comando, un refspec.

<refspec>

El formato de un <refspec> El parámetro es un plus opcional +, seguido de la reflexión de origen <src>, seguido de un colon: seguido de la referencia de destino <dst>.

El árbitro remoto que coincide <src> se busca, y si <dst> no es una cadena vacía, el árbitro local que coincide con el que se avanza rápidamente usando <src>.
Si el más opcional + se usa, la referencia local se actualiza incluso si no da como resultado una actualización rápida.

Aquí, <dst> está vacío, por lo que se actualiza la rama local coincidente (su maestro).


Sin maestro, eso daría:

git fetch upstream 

El comando anterior copia todas las ramas del control remoto refs/heads/ espacio de nombres y los almacena en el local refs/remotes/upstream/ espacio de nombres, a menos que el branch.<name>.fetch La opción se usa para especificar un refspec no default.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top