O comando git pull –rebase é um recurso muito útil para evitar problemas na hora de fazer o pull das atualizações do servidor, especialmente quando acontecem conflitos ao tentar sincronizar o seu trabalho com um repositório no GitHub ou cloud server.
Como usar o git pull –rebase?
Confira, abaixo, o passo a passo para usar git pull –rebase:
-
- Commit ou salve as suas alterações locais: antes de rodar qualquer comando git pull, certifique-se de que as suas mudanças locais estão salvas. Você pode fazer isso ao criar um commit: git commit -m “Descrição das suas mudanças”. Se ainda não quiser fazer commit, você pode “guardar” as mudanças temporariamente com o git stash;
- Execute o comando git pull –rebase: com as suas alterações salvas, você pode rodar o comando: git pull –rebase. Isso vai baixar as mudanças remotas e aplicar as suas alterações por cima das atualizações mais recentes, em vez de fazer o merge;
- Resolva conflitos (se houver): se houver conflitos entre as suas mudanças e as alterações que vieram do repositório remoto, o Git vai parar o rebase e pedir para você resolver os conflitos. Você pode resolvê-los manualmente e, depois, continuar o rebase com: git rebase –continue;
- Atualize o repositório remoto (se necessário): depois de completar o rebase e integrar as suas mudanças, envie o seu código de volta ao repositório remoto com: git push.
Quando devo usar o git pull –rebase?
O git pull –rebase é recomendável, principalmente, em cenários de colaboração em equipe, quando várias pessoas fazem mudanças ao mesmo tempo.
Por exemplo, ao trabalhar no ramo principal, você pode usar git pull rebase origin master para garantir que as suas alterações locais sejam reaplicadas sobre as últimas mudanças.
De forma resumida, o git pull –rebase pode ser útil para:
-
- Trabalhar em equipe: se você está em um projeto com várias pessoas que fazem alterações no mesmo código, o rebase ajuda a manter o fluxo mais organizado;
- Deixar o histórico de commits mais limpo: o rebase também é uma opção indicada para quem prefere um histórico de commits mais linear, sem os “nós” criados pelos merges;
- Evitar conflitos: o comando diminui a chance de conflitos grandes ao integrar o seu código com as mudanças do repositório remoto.
O que é git pull –rebase e qual é a sua diferença para o git pull?
O comando git pull –rebase é uma opção do git pull usado para sincronizar o repositório local com o repositório remoto.
Para definir essa variação como padrão, você pode usar o comando git config pull rebase true. Se quiser retornar ao comportamento de merge tradicional, basta utilizar git config pull.rebase false.
Porém, existem diferenças entre esses comandos git. O git pull padrão baixa as atualizações do repositório remoto (equivalente ao git fetch) e as mescla com as mudanças feitas localmente (equivalente ao git merge).
O problema é que a mesclagem cria um novo commit de “junção” (merge commit) que pode deixar o histórico de commits confuso.
Por sua vez, i git pull –rebase baixa as alterações remotas do servidor VPS e reaplica as suas alterações locais por cima delas, em vez de fazer a mesclagem tradicional.
Isso mantém o histórico linear, sem criar commits de merge.
Diferença para o Git Pull Merge?
O git pull utiliza o merge por padrão, o que significa que quando você baixa as alterações do repositório remoto e as integra com as suas mudanças locais, o Git cria um novo commit de merge.
Esse commit indica que as duas linhas de desenvolvimento (a sua e a do repositório remoto) foram unidas. Isso pode gerar um histórico com “nós”, que pode dificultar a visualização e entendimento do que mudou no código.
Por outro lado, o git pull –rebase não faz essa junção explícita e mantém o histórico linear e sem criar o commit de merge.
Com essas dicas, você já pode usar o git pull –rebase e manter o histórico do seu projeto organizado e fácil de entender.
Quer otimizar ainda mais o gerenciamento dos seus repositórios? Conte com os cloud servers da Locaweb e tenha flexibilidade, segurança e desempenho na hospedagem dos seus projetos!