Mesclar vários ramos git em mestre?
Pergunta
Então, eu tenho 3 ramos git:
- mestre
- refresh
- auth_upgrade
Eu não têm realmente vindo a utilizar ramos como deveria ... então master
é maneira fora da data, refresh
é um pouco fora de data e auth_upgrade
é realmente o ramo que é completamente atual.
Então ... eu quer finalmente fazer auth_upgrade
o branch master e depois git push
-lo ao meu github repo.
Qual é o melhor processo para fazer isso?
Solução
Você poderia puxar auth_upgrade
em master
.
$ git co master
$ git pull . auth_upgrade
- , em seguida, fazer o trabalho de linha principal em
master
e usar este ramo de sincronia com seu controle remoto .. - aplicar o mesmo procedimento para
refresh
, se houver algumas mudanças únicas que pretende incluir ..
ver:
$ man git-pull
git-pull - Fetch from and merge with another repository or a local branch
Outras dicas
Você pode renomear ramos com a git branch -m
opção:
git branch -m master old_master
git branch -m auth_upgrade master
Se quando você diz 'desatualizado' os velhos ramos são ancestrais rigorosas, então você realmente não tem quaisquer problemas de mesclagem.
Se você só quer fazer o seu ramo atual para o branch master em seu repositório remoto você pode apenas fazer:
git push origin HEAD:master
Editar: de um de seus comentários, parece que você não tem todas as mudanças de mestre remoto em sua ramificação atual, embora, assim você pode precisar de fundi-los em antes de empurrar com sucesso :
git fetch
git merge origin/master
Você pode então excluir você filiais locais. apagar com uma pequena -d
é seguro na medida em que exclui apenas ramos que são ancestrais de seu ramo atual.
git branch -d master
git branch -d refresh.
Se isso te incomoda que a sua filial local não é chamado mestre agora você pode fazer:
git checkout -b master
git branch -d auth_upgrade