Substituindo o ramo publicado

0

Suponha que haja um projeto upstream que não use git e que eu esteja mantendo uma base de código baseada nos tarballs lançados neste projeto. Eu mantenho uma ramificação git master e minha ramificação my dela. Eu publico as duas ramificações em um repositório git público. Sempre que o upstream faz um novo release principal, eu crio um novo commit no master que é idêntico ao tarball liberado. Eu então trabalho em mesclar o cabeçalho de master em my e publicar as duas ramificações.

Agora, suponha que o upstream finalmente recupera o juízo e torne o seu repositório git público. Eu gostaria de ter meu master track e se tornar idêntico ao upstream a partir deste ponto na história e em diante. Qual é o curso de ação recomendado? Eu tenho que simplesmente fazer um master-2 que é idêntico ao upstream, e mesclá-lo em my a partir daí, abandonando o antigo master ?

    
por gspr 27.06.2018 / 11:58

1 resposta

1

No seu repositório local, você pode:

  • Exclua a ramificação usando git branch e, se desejar, crie uma nova ramificação "principal".
  • Renomeie a ramificação para outra coisa usando git branch , depois, opcionalmente, crie uma nova.
  • Direcione novamente a ramificação 'principal' para qualquer consolidação desejada usando git branch ou git reset .

Para um repositório remoto, você pode:

  • Exclua a ramificação (envie uma exclusão) usando git push --delete .
  • Sobrescreva o ramo com qualquer consolidação desejada, usando git push --force .

Se você fizer isso em um repositório remoto que é usado por outras pessoas ou sistemas:

  • Se você usa um nome diferente, outras pessoas podem facilmente git checkout a nova ramificação, mas elas podem não perceber a alteração e se confundem porque, de repente, há zero atividade na ramificação 'principal'.
  • Se você colocar um histórico diferente na mesma ramificação 'master', todos perceberão, mas dependendo da versão git e do comando de atualização usado, ele será interrompido com uma mensagem de erro (requerendo alguma limpeza manual ) ou tentar mesclar ambos os históricos (exigindo mais limpeza manual).
por 27.06.2018 / 13:31

Tags