O que fazer com as ramificações históricas do SVN depois de alternar para o GitFlow?

5

Eu faço parte de uma equipe que se mudou recentemente de um repositório SVN para um repositório Git e começou a usar o GitFlow.

Pelo que entendi, isso significa que, em um mundo perfeito, o número mínimo de ramificações do Git pode ser de apenas dois: dominar e desenvolver. Na prática, haverá mais, respondendo por ramos de lançamento e tópicos, mas o objetivo fundamental é simplificar o processo e estar sempre mesclando ramificações de volta ao Desenvolvimento e, portanto, ao Mestre. Para todo o trabalho indo para frente, tudo bem.

A minha pergunta vem do nosso modo SVN anterior de fazer as coisas. Além da ramificação "Tronco" (agora "Desenvolver"), tivemos várias filiais de clientes para liberações específicas. Todos foram convertidos como parte do processo de conversão do git, de modo que nosso repositório git se parece com isso:

As ramificações hotfix / , release / e topic / * eu tenho um bom senso do que fazer com. Mas e os outros ramos históricos? Nossas convenções anteriores do SVN significaram que qualquer coisa que fizemos em uma ramificação de lançamento do cliente foi também feita no trunk, então nenhuma dessas ramificações tem código único que ainda não está em desenvolvimento, então não há necessidade de mesclá-las novamente desenvolver em tudo.

Essas ramificações podem ser marcadas (no cabeçalho atual) e excluídas? (Talvez eu esteja interpretando mal o ponto / uso de tags e / ou o próprio GitFlow) Ou nosso repositório está fadado a sempre ter esses ramos legados, desde que tenhamos interesse em manter a história?

    
por Sable Dreamer 08.08.2018 / 21:12
fonte

1 resposta

6

Manter as ramificações ou convertê-las em tags é uma questão de preferência pessoal.

O Git tem dois tipos de tags: tags leves que são apenas uma referência a um commit e tags anotadas. Tags anotadas são objetos git que podem incluir uma mensagem e / ou assinatura, como um commit.

Os ramos são basicamente iguais aos tags leves, exceto que são movidos automaticamente quando você adiciona um commit a um branch. (Você pode mover manualmente referências de ramificações com git-reset.)

Se você nunca adicionará commits a essas ramificações históricas, convertê-las em tags seria idiomático:

  • certifique-se de que a ramificação esteja mesclada no mestre.
  • crie uma nova tag
  • elimine o ramo antigo

Nomes de marcas e nomes de filiais residem em diferentes namespaces ( refs/tags e refs/heads ) para que você possa manter os nomes existentes para a tag.

    
por 08.08.2018 / 21:38
fonte