fala pessoal Rodrigo Santana aqui e nesse vídeo vamos entender uma forma de atualizar o repositório local Com base no repositório remoto para isso Vamos considerar uma situação que existe uma brandun no Git Hub e essa Branch possui três comites Vamos considerar também que um colaborador desse projeto né que tinha feito Clone desse repositório Em algum momento ele está com a Branch 1 dele desatualizada né Essa Branch aqui ainda tá apontando pro primeiro comit aqui do repositório remoto né só que esse colaborador ele quer trabalhar nessa Branch um e não faz sentido ele trabalhar numa Branch
que está desatualizada ele tem que estar na última versão é o mais recomendado né E aí para ele atualizar essa Branch né para e fazer que essa bran aponte para esse comit o que que ele pode fazer ele pode utilizar aqui o comando comando Git fet que vai baixar todo o conteúdo remoto isso envolve os objetos de comit né que não tinham aqui no repositório desse colaborador E no momento que ele fizer esse fetch vai ser atualizado a brint de rastreamento dele que vai passar a apontar para esse último comit mas a Branch local ela
continua apontando para o primeiro commit isso porque o Git fet não faz faz a mesclagem automática dessas alterações com seu trabalho atual a principal finalidade do Git fet é atualizar o repositório local com base nas alterações do repositório remoto né permitindo que você verifique essas alterações antes de decidir Como que você vai incorporar essas alterações no seu trabalho atual para de fato incorporar essas alterações no trabalho correntes o colaborador ele poderia fazer aqui um merge da brin local com a Branch de rastreamento que aí a Branch local passaria a referenciar esse mesmo comite né apontado
aqui pela Bran de rastreamento E aí vejam também que aqui né esse merge nessa situação Vai ser um merge Fast forward né que é basicamente pegar o rótulo da Branch 1 local e mover ela para esse comit apontada aqui pela Branch de rastreamentos Vamos à prática no vídeo anterior teve um p request da Branch groups para a Branch Man né com o intuito de incorporar as alterações que foram feitas na Branch groups dentro da Branch Man né e a gente simulou aquele processo de revisão e depois a gente efetivou o merge mas esse merge né
Essas alterações que foram incorporadas na Branch M só estão lá no repositório remoto né no github então a Branch m de João e Maria elas estão desatualizadas né aqui no os repositórios locais de cada um E é isso que vamos fazer nessa parte prática vamos atualizar o histórico da Branch Man no repositório local de João primeira coisa que vamos fazer aqui vai ser verificar o histórico atual histórico atual que vai ter aqui a Branch Man e a sua Branch de rastreamento referenciando esse comite de revert mas notem esse comite de revert ele não é o
último lá do repositório remoto né no github os últimos comites eles são os oriundos do merge que foi feito lá através do pull request esses comites né eu nem tenho aqui no repositório local de João eu vou baixar eles agora né com Git fet que vai baixar todo o conteúdo remoto né que envolve lá a novas branchs e commit né objetos que vão ser aí comits e ele baixou aqui tudo né só o que que vai acontecer se eu verificar o histórico da Branch man agora aqui vai continuar a mesma coisa por quê Porque o
histórico da minha brint local não mudou em nada né como vimos o Git fet ele não mexe na brin local ele só vai atualizar a bran de rastreamento para apontar pro último comit que ele baixou eu posso verificar aqui até o histórico da minha Branch de rastreamento né passando ela aqui no Git E aí eu vou ver que a minha Branch de rastreamento ela tá apontando aqui para o último comite do github que foi esse com que gerou esse merge de p request aqui e a minha Branch local ela permanece apontando aqui para esse comite
de reverte como a Branch local não foi alterada o que eu espero é que se eu executar aqui um LS eu não tenho ainda o arquivo groups JS que foi adicionado aqui nesses commits aqui né só que a minha Branch local ainda tá parada nesse comite aqui então ainda não tem o arquivo grupos PJS mas eu quero né incorporar isso dentro aqui da da minha Branch local né e atualizar a minha área de trabalho então a gente vai utilizar aqui agora um Git merge Origin M que aí eu vou fazer agora um merge da Branch
local m com a Branch de rastreamento né E aí ele fez um Fast forward por quê Porque foi basicamente mover o rótulo da brint que tá nesse commit para VI para esse commit aqui né que eu posso confirmar fazendo um Git R novamente agora a minha Branch local M está apontando para cá e a Origin M também né E se eu executar aqui um LS agora o arquivo groups PJS já aparece aqui né com aquelas duas funções que a gente criou lá com a Maria né que foi a função salvar e a função update então
uma pergunta natural é sempre que for necessário atualizar o reposit local e a área de trabalho vai precisar fazer um Git fet e um Git merge a resposta é sim né mas já existe um comando que faz esses dois comandos juntos que é o Git Pool que vai ser visto no próximo [Música] vídeo Y