Categories: Tecnologia

Git Fetch: uma aula magistral

O comando Git fetchpermite que você olhe antes de pular. Você pode descobrir quais alterações foram feitas em um repositório remoto, mas sem substituir seus arquivos locais pelos arquivos remotos.

O que é git fetch e o que ele faz?

O fetchcomando no Git baixa commits, arquivos e outras informações de um repositório remoto para o seu repositório local, com segurança. Use fetch quando quiser ver quais alterações outros desenvolvedores fizeram, sem ser forçado a aceitá-las. Seus arquivos locais permanecem intactos. Por que isso é importante?

Você deve manter o bom senso quando estiver trabalhando como parte de uma equipe de desenvolvimento. O repositório remoto ou central conterá alterações e novas ramificações que outros desenvolvedores criaram e enviaram para o repositório remoto.

É perfeitamente possível que alguém tenha atualizado a cópia remota dos arquivos que você modificou localmente no seu computador. Se você executar casualmente um git pullpara atualizar seu repositório local, provavelmente se verá lidando com mesclagens para alterações que talvez nem queira.

Depois de baixar as informações, você pode examiná-las e ver quais são as alterações. Isso permite que você faça uma escolha informada sobre o que deseja mesclar agora, se houver, e o que deseja adiar para mais tarde.

Git buscar versus puxar

git fetch comando se comporta como o git pullcomando, mas sem a etapa que substitui seus arquivos locais. Seu repositório local é atualizado e sincronizado, mas as alterações não são gravadas no estado de funcionamento do seu repositório local, portanto seus arquivos permanecem intactos.

Ou, dito de outra forma, o git pullcomando é como um git fetchseguido imediatamente por um git merge.

Sincronize seus repositórios locais e remotos com git fetch

Para buscar todos os metadados atualizados e commits de um repositório remoto para seu repositório local, use o git fetchcomando com o nome ou URL do repositório remoto. Por padrão, o primeiro repositório remoto é chamado de “origem”.

git buscar origem

Você pode omitir a palavra “origem” se estiver trabalhando com um único repositório remoto.

buscar

Isso recupera todas as atualizações do repositório “origem”, mas não mescla as alterações nos arquivos de trabalho. Podemos ver que há um novo branch, chamado “new-branch”, que foi recuperado para nós.

Depois de usar o fetchcomando, você poderá ver a lista completa de ramificações no controle remoto, usando a -ropção (remota) com o comando ramificação.

git ramo -r

Isso lista todas as ramificações que o controle remoto conhece, que após o fetch, também estão no seu repositório local.

Ver todas as tags buscadas

Da mesma forma, você pode usar a tagopção (observe que é “tag” sem “s”) para ver a lista de tags.

etiqueta git

Fazendo uma simulação primeiro

Embora a git fetchnão mescle as alterações em seus arquivos de trabalho, ele ainda atualiza seu repositório local. Se você quiser ver quais alterações o fetchcomando realizará, sem realmente realizá-las, use a --dry-runopção.

git fetch --dry-run

Como buscar uma única filial

Buscar informações sobre uma única ramificação é fácil. Adicione o nome da ramificação à linha de comando para informar fetchque você só precisa saber sobre essa ramificação.

Aqui, estamos dizendo fetchpara recuperar o branch “mary-feature” do repositório remoto “origin”.

git buscar origem recurso mary

Agora que os detalhes e o conteúdo da ramificação remota estão em seu repositório local, você pode usar o git checkoutcomando para criar uma nova ramificação e fazer check-out da ramificação remota . Isso não substituirá nenhum arquivo existente se for a primeira vez que você usa este branch.

git checkout -b recurso mary origem/recurso mary

Buscar todas as filiais

Se estiver usando vários controles remotos , você pode economizar tempo puxando todas as alterações de todas as ramificações de volta para o seu repositório local usando a --allopção.

git buscar --tudo

Comparando filiais locais e remotas

Para ver como os arquivos em uma ramificação remota diferem das cópias locais, use e git fetch, em seguida, use o git logcomando.

Observe que as ramificações locais e remotas possuem dois pontos ” ..” que as separam. A --oneline opção mostra o identificador do commit e a mensagem do commit.

buscar

git log --oneline mary-feature..origin/mary-feature

A exibição de uma linha é útil se uma ramificação contém muitas alterações. Para ver um pouco mais de informação, omita a --onelineopção.

git log mary-feature..origin/mary-feature

Isso nos mostra a hora e a data de cada commit, juntamente com a mensagem do commit e os dados de contato do autor da alteração.

Sincronizando uma filial local com uma filial remota

Se você decidiu prosseguir e mesclar as alterações da ramificação remota com seus arquivos de trabalho locais, você pode usar estes comandos.

Faremos o checkout do branch para ter certeza de que estamos funcionando, é nosso branch atual e funcional.

git checkout recurso mary

A filial foi verificada para nós e fomos informados de que ela está por trás da versão remota. Podemos usá- git pulllo para atualizá-lo e depois git statusverificar nosso status.

puxa

status do git

Se tivermos feito algumas alterações em nossos arquivos locais, o Git nos informará quando fizermos checkout do branch que precisaremos realizar um git pullpara iniciar uma mesclagem.

git checkout recurso mary

Um simples git pullinicia o processo de recuperação dos arquivos e mesclagem, ou podemos mergulhar de cabeça e usá- git mergelo. Começaremos certificando-nos de que estamos trabalhando com o branch correto

git checkout recurso mary

Diremos gitpara mesclar nosso branch atual com o branch no repositório remoto, existem seis commits diferentes que precisam ser resolvidos.

Precisamos informar ao Git qual branch remoto queremos mesclar.

git merge origem/recurso mary

Um editor é aberto para nos permitir fornecer uma mensagem de commit. Podemos aceitar a mensagem sugerida ou adicionar a nossa própria. O editor é seu editor padrão , a menos que o Git tenha sido configurado para usar um editor diferente.

Salve suas alterações quando estiver pronto para prosseguir. A mesclagem continua automaticamente quando o editor é fechado.

Nossa fusão foi bem-sucedida porque não houve conflitos.

Os conflitos surgem quando as mesmas linhas de código são alteradas por dois ou mais desenvolvedores. Se for esse o caso,  o Git marca os conflitos no arquivo afetado . Você precisará revisá-los e escolher quais alterações manter.

O cachorrinho meio treinado

Assim como um cachorrinho em treinamento, fetchirá recuperar o que você pede, mas não deixará cair. Se você realmente quer o que o cachorrinho lhe mostrou, você precisará pull.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

1 ano ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

1 ano ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

1 ano ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

1 ano ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

1 ano ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

1 ano ago