Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença entre url fetch e url push

Olá !

Consultando meu remote origin via comando

git remote show origin

Obtive o retorno:

$ git remote show origin
* remote origin
  Fetch URL: meu_user@177.xxx.xxx.xxx:/var/git/Projeto.git
  Push  URL: meu_user@177.xxx.xxx.xxx:/var/git/Projeto.git

Qual a razão desta distinção entre dois URLs (Fetch e Push) esses dois URLs poderiam ser diferentes ? Se sim qual a utilidade prática disso ?

2 respostas

Allan, boa tarde. Vê se esse post te ajuda:

https://cursos.alura.com.br/forum/topico-duvida-git-pull-e-git-fetch-39167

solução!

Oi Allan esse comando serve para inspecionar um controle remoto. Se você quiser ver mais informações sobre um determinado controle remoto, você pode usar o

git remote show

Quando clonamos um repositório por padrão temos um a branch chamada origin.

$ git remote show origin
* remote origin
  Fetch URL: meu_user@177.xxx.xxx.xxx:/var/git/Projeto.git
  Push  URL: meu_user@177.xxx.xxx.xxx:/var/git/Projeto.git

Observe que esses controles remotos usam uma variedade de protocolos. A primeira url(fetch) é utilizada para obter dados de seus projetos remotos.O comando sai para esse projeto remoto e retira todos os dados desse projeto remoto que você ainda não possui. Depois de fazer isso, você deve ter referências a todas as ramificações(branchs) desse controle remoto, que podem ser mescladas ou inspecionadas a qualquer momento.

Se você clonar um repositório, o comando adicionará automaticamente esse repositório remoto sob o nome "origem"(origin). Assim, git fetch origin busca qualquer novo trabalho que tenha sido enviado para esse servidor desde que você clonou (ou buscou por último) o mesmo. É importante observar que o comando git fetch só faz o download dos dados para o seu repositório local - ele não é mesclado automaticamente com qualquer um dos seus trabalhos ou modifica o que você está trabalhando atualmente. Você tem que mesclar manualmente em seu trabalho quando estiver pronto.

Se você tem interesse em mesclar essas novidades do servidor no projeto, Se sua ramificação atual estiver configurada para rastrear uma ramificação remota, você poderá usar o comando git pull para buscar e mesclar automaticamente essa ramificação remota na sua ramificação atual. Esse pode ser um fluxo de trabalho mais fácil ou mais confortável para você; e por padrão, o comando git clone configura automaticamente sua ramificação mestre local para rastrear a ramificação mestre remota (ou qualquer que seja a ramificação padrão chamada) no servidor do qual você foi clonado. A execução git pull geralmente busca dados do servidor do qual você originalmente clonou e tenta mesclá-los automaticamente no código em que você está trabalhando atualmente.

Quando você tem seu projeto em um ponto que você deseja compartilhar, você tem que empurrá-lo para cima(push). O comando para isso é simples: git push . Se você quiser empurrar sua branch mestre para o seu servidor origin (novamente, a clonagem geralmente configura ambos os nomes automaticamente para você), então você pode rodar isso para empurrar todas as confirmações feitas para o servidor:

$ git push origin master

Este comando funciona somente se você clonou de um servidor ao qual você tem acesso de gravação e se ninguém fez push nesse meio tempo

Como observado essas urls são criadas já para facilitar o fluxo normal do trabalho remoto.

Espero ter ajudado e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software