Como posso manter minha ramificação atualizada com master com git?


126

Eu tenho uma correção de bug no meu mestre e também quero que meu ramo obtenha essa correção. Que gitcomando eu uso?

Respostas:


172

Supondo que você esteja bem com todas as alterações no mestre, o que você quer é:

git checkout <my branch>

mudar a árvore de trabalho para o seu ramo; então:

git merge master

para mesclar todas as alterações no mestre com as suas.


5
E isso apenas adiciona as alterações do meu mestre no meu ramo e deixa o mestre em paz, correto?
precisa saber é o seguinte

3
@ Nic - Isso trará todos os commits do master, não apenas a correção de erros. Certifique-se de que é isso que você quer fazer.
Manojlds

12
@ Nic - Correto, isso não modifica o mestre.
John Doty

16
Pode ser bom recomendar um "mestre de check-out do git; git pull" inicial para garantir que a ramificação do mestre local esteja atualizada. Normalmente óbvio, mas ...
MikeW

Como um atalho de checkout / mesclagem mestre, você pode simplesmente fazer um "mestre de origem do git pull" para puxar o master / mesclagem do servidor para a ramificação de check-out local?
User1172173 15/05/19

66

Se sua filial for apenas local e não tiver sido enviada ao servidor, use

git rebase master

Caso contrário, use

git merge master

18
Porque ele modifica o histórico de consolidação e você não deseja enviar o histórico de pesquisa modificado para o servidor.
Chetan

1
Se você estiver usando um repositório svn como seu repositório remoto - via git svn- então git rebase masteré o caminho a seguir, para manter um histórico linear, que é o que o svn entende.
Alondono 18/03/2015

15

Você pode usar o cherry-pick para obter as correções de erros específicas

$ git checkout branch
$ git cherry-pick bugfix

a seleção de cereja funcionará apenas se o bugfix for um ramo que foi mesclado novamente no master?
Prasith Govin

1
Você pode escolher, mas depois de mesclar a ramificação no master (quando a ramificação estiver pronta), você terá o commit da correção de erros duas vezes no histórico.
Gauthier

0

Se você deseja que a correção seja integrada à ramificação, git cherry-picko (s) commit (s) relevante (s).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.