¿Cuál es la diferencia entre git pull origin master
y git pull origin/master
?
git
version-control
Rachel
fuente
fuente
git pull origin/master
. Si desea fusionar la rama remota [almacenada localmente]origin/master
, simplemente usegit merge origin/master
.git pull
significagit fetch
seguido porgit merge
. Obtiene el contenido del control remoto, luego lo combina en su rama actual. Peroorigin/master
es una sucursal local (seguimiento de una sucursal remota). Si desea fusionarlo, no necesita buscar nada. Es engañoso decirgit pull origin/master
cuando en realidad no estás buscando desde un control remoto.origin/master
es una rama almacenada localmente que almacena en caché la rama maestra en el origen remoto.Respuestas:
git pull origin master
extraerá los cambios delorigin
control remoto, semaster
bifurcará y los fusionará con la rama local desprotegida.git pull origin/master
extraerá los cambios de la rama almacenada localmenteorigin/master
y la fusionará con la rama local desprotegida. Laorigin/master
rama es esencialmente una "copia en caché" de lo que se extrajo por última vezorigin
, por lo que se llama una rama remota en lenguaje git. Esto puede ser algo confuso.Puede ver qué ramas están disponibles
git branch
ygit branch -r
ver las "ramas remotas".fuente
git pull origin master
que siempre se fusione con la rama maestra, digamos que estoy en otra rama en mi repositorio y luego estoy haciendo el comando anterior, ¿actualizará mi rama actual con los cambios remotos de origen o mi rama maestra con los cambios?git merge
(y por lo tantogit pull
) siempre se fusiona en la rama actual. Para fusionarse con algo que no sea su rama actual, simplemente compruébelo primero.git pull origin/master
puede haber sido un comando válido cuando se escribió esto, pero hoy en día (git 1.7.10.3) fallafatal: 'origin/master' does not appear to be a git repository
(como debería, pull siempre es para extraer desde remotos).git pull origin master
buscará todos los cambios desde la rama maestra del control remoto y los combinará en su local. Generalmente no usamos git pull origin / master. Podemos hacer lo mismo algit merge origin/master
. Combinará todos los cambios de la "copia en caché" de la rama maestra del origen en su rama local. En mi casogit pull origin/master
es arrojar el error.fuente
git pull
=git fetch
+git merge origin/branch
git pull
ygit pull origin branch
solo difieren en que este último solo "actualizará" el origen / rama y no todo el origen / * como logit pull
hace.git pull origin/branch
simplemente no funcionará porque está tratando de hacer algogit fetch origin/branch
que no es válido.Pregunta relacionada: git fetch + git merge origin / master vs git pull origin / master
fuente