Lo sé, origen es un término para el repositorio remoto y maestro es la rama allí.
A propósito estoy omitiendo el "contexto" aquí y espero que la respuesta no dependa del contexto. Entonces, en las líneas de comando de git, ¿cuál es la diferencia entre origin / master y origin master . ¿Hay una manera no ambigua de entender cuándo usar origin / master y cuándo debo usar origin master ?

Respuestas:
En realidad, hay tres cosas aquí:
origin masterson dos cosas separadas, yorigin/masteres una cosa. Tres cosas en total.Dos ramas:
masteres una sucursal localorigin/masteres una rama remota (que es una copia local de la rama llamada "maestro" en el remoto llamado "origen")Un control remoto:
origines un control remotoEjemplo: tire en dos pasos
Como
origin/masteres una rama, puede fusionarla. Aquí hay un tirón en dos pasos:Paso uno, busca
masterdesde el control remotoorigin. Se buscará lamasterramaoriginy se nombrará la copia localorigin/master.A continuación, se fusionan
origin/masterenmaster.Luego puede empujar sus nuevos cambios
masteraorigin:Más ejemplos
Puede buscar varias ramas por nombre ...
Puedes fusionar múltiples ramas ...
fuente
git remote add home my-server:projects/my-projectagrega un control remoto llamado "hogar". Es posible que desee consultar la documentación: git-scm.com/docs/git-remoteorigin/masteres una entidad (ya que no es una rama física) que representa el estado de lamasterrama en el control remotoorigin.origin masteres la ramamasteren el control remotoorigin.Entonces tenemos estos:
Ejemplo (en sucursal local
master):fuente
origin masterno es una rama ... de hecho son dos cosas separadas, "origen" (un control remoto) y "maestro" (una rama local).origin/masteres la rama maestra remota. La sucursal local es solo el maestro.origin/masteres lamasterrama remotaPor lo general, después de hacer una
git fetch originpara traer todos los cambios desde el servidor, harías unagit rebase origin/master, para cambiar los cambios y mover la rama al último índice. Aquí,origin/masterse refiere a la rama remota, porque básicamente le está diciendo a GIT que vuelva a basar laorigin/masterrama en la rama actual.Lo usarías
origin masteral empujar, por ejemplo.git push origin masteres simplemente decirle a GIT que empuje al repositorio remoto lamasterrama local .fuente
origin masterdecirle al software que haga algo con lo que sea que esté en 'maestro' en el repositorio 'origen'.origin/masterEs una referencia de la misma maneraf3a4d5oHEADes.origin es un nombre para la URL remota de git. Puede haber muchos más ejemplos de controles remotos a continuación.
en lo que respecta al origen / maestro (ejemplo bangalore / master), es puntero a "master" commit en el sitio de bangalore . Lo ves en tu clon.
Es posible que el bangalore remoto haya avanzado ya que ha hecho "recuperar" o "extraer"
fuente
Dado el hecho de que puede cambiar a
origin/master(aunque en estado desconectado) mientras tiene el cable de red desconectado, debe ser una representación local de lamastersucursal enorigin.fuente