Qual é a diferença entre git pull origin master
e git pull origin/master
?
git
version-control
Rachel
fonte
fonte
git pull origin/master
. Se você deseja mesclar a ramificação remota [armazenada localmente]origin/master
, basta usargit merge origin/master
.git pull
significagit fetch
seguido porgit merge
. Ele busca o conteúdo do controle remoto e o funde na sua ramificação atual. Masorigin/master
é uma filial local (rastreando uma filial remota). Se você deseja mesclá-lo, não precisa buscar nada. É enganador dizergit pull origin/master
quando você não está realmente buscando em um controle remoto.origin/master
é um ramo armazenado localmente que armazena em cache o ramo mestre no controle remoto de origem.Respostas:
git pull origin master
puxará as alterações doorigin
controle remoto,master
filial e as mesclará para a filial local com check-out.git pull origin/master
puxará as alterações da ramificação armazenada localmenteorigin/master
e as mesclará à ramificação com check-out local. Aorigin/master
ramificação é essencialmente uma "cópia em cache" do que foi extraído pela última vezorigin
, e é por isso que é chamada de ramificação remota na linguagem git. Isso pode ser um pouco confuso.Você pode ver com quais ramificações estão disponíveis
git branch
egit branch -r
para ver as "ramificações remotas".fonte
git pull origin master
, ele sempre será mesclado ao ramo principal, digamos que estou em outro ramo no meu repo e depois estou executando o comando acima, ele atualizará meu ramo atual com as alterações remotas de origem ou meu ramo mestre com as alterações?git merge
(e, portantogit pull
) sempre se funde no ramo atual. Para mesclar com algo que não seja sua filial atual, verifique primeiro.git pull origin/master
pode ter sido um comando válido quando isso foi escrito, mas hoje em dia (git 1.7.10.3) falha comfatal: 'origin/master' does not appear to be a git repository
(como deveria - pull é sempre para puxar de controles remotos).git pull origin master
buscará todas as alterações da ramificação principal do controle remoto e as mesclará com o seu local. Geralmente não usamos git pull origin / master. Podemos fazer o mesmogit merge origin/master
. Ele mesclará todas as alterações de "cópia em cache" ramo principal da origem em seu ramo local. No meu caso,git pull origin/master
está lançando o erro.fonte
git pull
=git fetch
+git merge origin/branch
git pull
egit pull origin branch
diferem apenas no fato de que o último "atualizará" a origem / ramificação e nem toda a origem / *, comogit pull
faz.git pull origin/branch
simplesmente não funcionará porque está tentando fazer umgit fetch origin/branch
inválido.Pergunta relacionada: git fetch + git merge origin / master vs git pull origin / master
fonte