{"id":37088,"date":"2025-01-17T10:14:34","date_gmt":"2025-01-17T13:14:34","guid":{"rendered":"https:\/\/www.locaweb.com.br\/ajuda\/?post_type=ht_kb&#038;p=37088"},"modified":"2025-01-17T10:14:34","modified_gmt":"2025-01-17T13:14:34","slug":"git-pull-rebase","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/git-pull-rebase\/","title":{"rendered":"Como usar o git pull &#8211;rebase?"},"content":{"rendered":"<p>O comando <strong>git pull &#8211;rebase<\/strong> \u00e9 um recurso muito \u00fatil para evitar problemas na hora de fazer o pull das atualiza\u00e7\u00f5es do servidor, especialmente quando acontecem conflitos ao tentar sincronizar o seu trabalho com um reposit\u00f3rio no <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/de-olho-no-digital\/github-o-que-e\/\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a> ou <a href=\"https:\/\/www.locaweb.com.br\/cloud\/cloud-server-pro\/\" target=\"_blank\" rel=\"noopener noreferrer\">cloud server<\/a>.<\/p>\n<h2>Como usar o git pull &#8211;rebase?<\/h2>\n<p>Confira, abaixo, o passo a passo para usar <em>git pull &#8211;rebase<\/em>:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li><strong>Commit<\/strong><strong> ou salve as suas altera\u00e7\u00f5es locais<\/strong>: antes de rodar qualquer comando <em>git pull<\/em>, certifique-se de que as suas mudan\u00e7as locais est\u00e3o salvas. Voc\u00ea pode fazer isso ao criar um commit: <em>git commit -m &#8220;Descri\u00e7\u00e3o das suas mudan\u00e7as&#8221;<\/em>. Se ainda n\u00e3o quiser fazer commit, voc\u00ea pode &#8220;guardar&#8221; as mudan\u00e7as temporariamente com o <em>git stash<\/em>;<\/li>\n<li><strong>Execute o comando <\/strong><strong>git pull &#8211;rebase<\/strong>: com as suas altera\u00e7\u00f5es salvas, voc\u00ea pode rodar o comando:<em> git pull &#8211;rebase<\/em>. Isso vai baixar as mudan\u00e7as remotas e aplicar as suas altera\u00e7\u00f5es por cima das atualiza\u00e7\u00f5es mais recentes, em vez de fazer o merge;<\/li>\n<li><strong>Resolva conflitos (se houver)<\/strong>: se houver conflitos entre as suas mudan\u00e7as e as altera\u00e7\u00f5es que vieram do reposit\u00f3rio remoto, o Git vai parar o rebase e pedir para voc\u00ea resolver os conflitos. Voc\u00ea pode resolv\u00ea-los manualmente e, depois, continuar o rebase com: <em>git rebase &#8211;continue<\/em>;<\/li>\n<li><strong>Atualize o reposit\u00f3rio remoto (se necess\u00e1rio)<\/strong>: depois de completar o rebase e integrar as suas mudan\u00e7as, envie o seu c\u00f3digo de volta ao reposit\u00f3rio remoto com:<em> git push<\/em>.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2>Quando devo usar o git pull &#8211;rebase?<\/h2>\n<p>O <em>git pull &#8211;rebase<\/em> \u00e9 recomend\u00e1vel, principalmente, em <strong>cen\u00e1rios de colabora\u00e7\u00e3o em equipe<\/strong>, quando v\u00e1rias pessoas fazem mudan\u00e7as ao mesmo tempo.<\/p>\n<p>Por exemplo, ao trabalhar no ramo principal, voc\u00ea pode usar <em>git pull rebase origin master<\/em> para garantir que as suas altera\u00e7\u00f5es locais sejam reaplicadas sobre as \u00faltimas mudan\u00e7as.<\/p>\n<p>De forma resumida, o<em> git pull &#8211;rebase<\/em> pode ser \u00fatil para:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Trabalhar em equipe<\/strong>: se voc\u00ea est\u00e1 em um projeto com v\u00e1rias pessoas que fazem altera\u00e7\u00f5es no mesmo c\u00f3digo, o rebase ajuda a manter o fluxo mais organizado;<\/li>\n<li><strong>Deixar o hist\u00f3rico de commits mais limpo<\/strong>: o rebase tamb\u00e9m \u00e9 uma op\u00e7\u00e3o indicada para quem prefere um hist\u00f3rico de commits mais linear, sem os &#8220;n\u00f3s&#8221; criados pelos merges;<\/li>\n<li><strong>Evitar conflitos<\/strong>: o comando diminui a chance de conflitos grandes ao integrar o seu c\u00f3digo com as mudan\u00e7as do reposit\u00f3rio remoto.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>O que \u00e9 git pull &#8211;rebase e qual \u00e9 a sua diferen\u00e7a para o git pull?<\/h2>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Clique aqui: O que \u00e9 git pull --rebase e qual \u00e9 a sua diferen\u00e7a para o git pull?<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<p>O comando <em>git pull &#8211;rebase<\/em> \u00e9 uma op\u00e7\u00e3o do <em>git pull<\/em> <strong>usado para sincronizar o reposit\u00f3rio local com o reposit\u00f3rio remoto<\/strong>.<\/p>\n<p>Para definir essa varia\u00e7\u00e3o como padr\u00e3o, voc\u00ea pode usar o comando <em>git config pull rebase<\/em> true. Se quiser retornar ao comportamento de merge tradicional, basta utilizar <em>git config pull.rebase false<\/em>.<\/p>\n<p>Por\u00e9m, existem diferen\u00e7as entre esses <a href=\"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/comandos-git\" target=\"_blank\" rel=\"noopener noreferrer\">comandos git<\/a>. O<em> git pull <\/em>padr\u00e3o <strong>baixa as atualiza\u00e7\u00f5es do reposit\u00f3rio remoto<\/strong> (equivalente ao <em>git fetch<\/em>) <strong>e as mescla com as mudan\u00e7as feitas localmente<\/strong> (equivalente ao <em>git merge<\/em>).<\/p>\n<p>O problema \u00e9 que <strong>a mesclagem cria um novo commit de &#8220;jun\u00e7\u00e3o&#8221;<\/strong> (<em>merge commit<\/em>) que pode deixar o hist\u00f3rico de commits confuso.<\/p>\n<p>Por sua vez, i <em>git pull &#8211;rebase<\/em> <strong>baixa as altera\u00e7\u00f5es remotas do <\/strong><strong>servidor VPS<\/strong><strong> e reaplica as suas altera\u00e7\u00f5es locais por cima delas<\/strong>, em vez de fazer a mesclagem tradicional.<\/p>\n<p>Isso <strong>mant\u00e9m o hist\u00f3rico linear<\/strong>, sem criar commits de merge.<\/p>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n<h3>Diferen\u00e7a para o Git Pull Merge?<\/h3>\n    \t\t<div class=\"hts-toggle  \"  >\r\n    \t\t\t<div class=\"hts-toggle__title\">Clique aqui: Diferen\u00e7a para o Git Pull Merge?<\/div>\r\n    \t\t\t<div class=\"hts-toggle__content\">\r\n    \t\t\t\t<div class=\"hts-toggle__contentwrap\">\r\n    \t\t\t\t\t<\/p>\n<p>O<em> git pull<\/em> utiliza o <em>merge<\/em> por padr\u00e3o, o que significa que quando voc\u00ea baixa as altera\u00e7\u00f5es do reposit\u00f3rio remoto e as integra com as suas mudan\u00e7as locais,<strong> o Git cria um novo commit de merge<\/strong>.<\/p>\n<p>Esse commit indica que as duas linhas de desenvolvimento (a sua e a do reposit\u00f3rio remoto) foram unidas. Isso pode gerar um hist\u00f3rico com &#8220;n\u00f3s&#8221;, que pode dificultar a visualiza\u00e7\u00e3o e entendimento do que mudou no c\u00f3digo.<\/p>\n<p>Por outro lado, o <em>git pull &#8211;rebase<\/em> <strong>n\u00e3o faz essa jun\u00e7\u00e3o expl\u00edcita e mant\u00e9m o hist\u00f3rico linear<\/strong> e sem criar o commit de merge.<\/p>\n<p>Com essas dicas, voc\u00ea j\u00e1 pode usar o <em>git pull &#8211;rebase<\/em> e manter o hist\u00f3rico do seu projeto organizado e f\u00e1cil de entender.<\/p>\n<p>Quer otimizar ainda mais o gerenciamento dos seus reposit\u00f3rios? Conte com os <strong>cloud <\/strong><strong>servers<\/strong><strong> da Locaweb<\/strong> e tenha flexibilidade, seguran\u00e7a e desempenho na hospedagem dos seus projetos!<\/p>\n<p>\n    \t\t\t\t<\/div>\r\n    \t\t\t<\/div><!-- \/ht-toggle-content -->\r\n    \t\t<\/div>\r\n    \t\t\n","protected":false},"excerpt":{"rendered":"<p>O comando git pull &#8211;rebase \u00e9 um recurso muito \u00fatil para evitar problemas na hora de fazer o pull das atualiza\u00e7\u00f5es do servidor, especialmente quando acontecem conflitos ao tentar sincronizar o seu trabalho com um reposit\u00f3rio no GitHub ou cloud server. Como usar o git pull &#8211;rebase? Confira, abaixo, o&#8230;<\/p>\n","protected":false},"author":48,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[119],"ht-kb-tag":[],"class_list":["post-37088","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-hospedagem-de-sites"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=37088"}],"version-history":[{"count":1,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37088\/revisions"}],"predecessor-version":[{"id":37089,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37088\/revisions\/37089"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=37088"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=37088"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=37088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}