Merge da Branch Atual (Portais - master)  para a Legado (portalmeurh - main)


Este será um processo temporário. A princípio, a partir da versão 12.1.2402 será feito uma correção e unificado os repositórios, não sendo mais necessário a realização de merges.

Para liberação de uma funcionalidade da branch master da atual para a versão 12.1.2310, não deverá ser feito o processo de merge abaixo, descrito nesse primeiro tópico. Deverá ser feito o merge manual, ou seja, aberta uma nova branch a partir da 12.1.2310 e realizadas as alterações manualmente nos arquivos. Após as alterações commitá-las e abrir um PR para a branch 12.1.2310 oficial.


  • No repositório de origem (Portais):

    • Dar pull para atualizar tanto a branch master, quanto a branch development;

    • Abrir um PR (Pull Request) da branch development para a master. Após rodar a pipeline com sucesso, efetuar a aprovação e completar o PR.

    • Criar nova branch temporária para o merge (git checkout -b branch-merge):

      git checkout -b MERGE1212310
    • No caminho "../Portais", rodar o comando a seguir, para que ele realize a cópia de tudo que está dentro do PortalMeuRH para essa branch, fazendo com que sua estrutura fique igual ao repo legado (git filter-branch --subdirectory-filter PortalMeuRH -- --all) :

      git filter-branch --subdirectory-filter PortalMeuRH -- --all

      Este comando irá demorar, pois está sendo remapeado os arquivos. É necessário aguardar até o final do processo.


    • Subir branch com nova estrutura (git push origin branch-merge):
      Tentar executar o comando de commit. Caso informe que não existem alterações para commitar, pular para o comando de push.

      git commit -m "Merge da versão atual para o repositório de legado"
      git push --set-upstream origin MERGE1212310


  • No repositório de destino (Legado):

    • Navegar até a pasta do projeto de legado, através do comando "cd .. ", dar pull para atualizar a branch main;
       
    • Adicionar repositório de origem (git remote add origem "link"):

      git remote add atual https://[email protected]/totvstfs/AppMeuRH/_git/Portais
    • Mesclar a nova branch de origem no repo de destino (git subtree add --prefix=PortalMeuRH origem/branch-merge --squash) e commitar:

      git subtree add --prefix=PortalMeuRH atual/MERGE1212310 –squash
      git fetch atual
      git merge atual/MERGE1212310 --allow-unrelated-histories
    • Caso de conflito, resolva os conflitos primeiramente.
      Tentar executar o comando de commit. Caso informe que não existem alterações para commitar, pular para o comando de push.

      git commit -m "Merge da versão atual para a branch de legado."
      git push --set-upstream origin DRHMEURH-12000

Merge de uma Branch Legado para outra Branch Legado


Para realização do processo de merge de frontend, seguir os passos abaixo.
Os passos a seguir, consideram que você já tenha acesso ao repositório indicado e que já tenha clonado o projeto. 
Caso não esteja familiarizado com o processo de DevOps da TOTVS ou não tenha clonado o projeto, sugere-se que você leia a documentação Manual Azure DevOps na TOTVS e/ou assista o vídeo Migração FrameHTML para Git antes. 


  • Baixar o código da versão que deseja fazer merge a partir do git, lembrando que para cada versão específica existe uma branch.
    Projeto: https://dev.azure.com/totvstfs/RH-BH
    Repositório: portalmeurh



  • Após baixar o código a partir da branch da versão desejada para o merge, você deverá criar uma nova branch a partir da branch da versão, considerando o padrão de nomenclatura: CODIGOISSUE_VERSAO. 
    Exemplo: Caso queira fazer o merge da issue DRHMEURH-10430 para a versão 12.1.2306, a nova branch a ser criada deverá ser DRHMEURH-10430_2306, devendo ser criada a partir da branch 12.1.2306.

  • Criada a branch para a issue que será feito o merge, basta realizar as codificações do merge e commitá-las fazendo um breve comentário sobre o que se trata as implementações.

  • Realizado o commit, acessar o portal do Azure do projeto e no canto esquerdo da tela, selecionar a opção Repos, posteriormente Pull Requests e New Pull Request. Neste momento será feito o PR das alterações da branch da issue para a branch oficial da versão.
    IMPORTANTE: Nunca commitar diretamente na branch da versão de mercado. O merge será feito automaticamente através do PR.





  • Após o PR ser criado, é importante marcar o Autocomplete, pois ele fará a exclusão da branch da issue após a conclusão do PR.

  • Terminado todo o processo de execução da pipeline com sucesso, ficou acordado com o time, que deverá ser solicitado o Code Review do merge por outro analista para verificar se a estrutura do projeto está adequada. Esse outro analista que ficará responsável por aprovar e completar o PR.
  • Sem rótulos