|
1 | 1 | ---
|
2 |
| -title: Examples |
3 |
| -description: See your project in action! |
4 |
| -date: 2017-01-05 |
| 2 | +title: Colaboração com múltiplos repositório no git |
| 3 | +description: |
| 4 | +date: 2025-03-26 |
5 | 5 | weight: 3
|
6 | 6 | ---
|
7 | 7 |
|
8 |
| -{{% pageinfo %}} |
| 8 | +## CONTEXTO E CONFIGURAÇÃO DO AMBIENTE |
9 | 9 |
|
10 |
| -This is a placeholder page that shows you how to use this template site. |
| 10 | +• Projeto Principal e Submódulos: |
| 11 | + – O repositório principal (main) contém a estrutura global do software. |
| 12 | + – Plugins e temas são mantidos em repositórios separados e integrados como submódulos. |
| 13 | + – Para clonar o projeto com todos os submódulos configurados, utilize: |
| 14 | + • git clone --recurse-submodules [URL do repositório principal] |
| 15 | + Ou, se já tiver clonado sem submódulos, execute: |
| 16 | + • git submodule init |
| 17 | + • git submodule update |
11 | 18 |
|
12 |
| -{{% /pageinfo %}} |
| 19 | +• Ambiente de Desenvolvimento: |
| 20 | + – Configure suas ferramentas (IDE, terminal, etc.) para operacionalizar tanto o repositório principal quanto os submódulos, já que estes podem ter suas próprias dependências e configurações específicas. |
13 | 21 |
|
14 |
| -Do you have any example **applications** or **code** for your users in your repo |
15 |
| -or elsewhere? Link to your examples here. |
| 22 | +## FLUXO DE DESENVOLVIMENTO TRUNK |
| 23 | + |
| 24 | +Com o desenvolvimento trunk, a ênfase é na integração rápida e frequente no repositório principal, ou seja, na branch main: |
| 25 | + |
| 26 | +• Branch Principal (Main): |
| 27 | + – A branch main representa a base de integração contínua e o código de produção. |
| 28 | + – Todas as mudanças aprovadas e testadas são integradas diretamente na main. |
| 29 | + |
| 30 | +• Branches Temporárias para Features ou Correções: |
| 31 | + – Ao desenvolver uma nova funcionalidade ou corrigir um problema, crie uma branch de curta duração a partir da main. |
| 32 | + – Exemplos de nomenclatura: feature/minha-nova-funcionalidade ou fix/descricao-curta |
| 33 | + – Essas branches devem ser integradas ao main o mais rápido possível para minimizar divergências. |
| 34 | + |
| 35 | +• Integração Contínua e Entrega Contínua (CI/CD): |
| 36 | + – Os desenvolvedores integram suas mudanças frequentemente na main. |
| 37 | + – Testes automatizados garantem que a main esteja sempre estável e pronta para produção. |
| 38 | + |
| 39 | +## INTEGRAÇÃO DOS SUBMÓDULOS |
| 40 | + |
| 41 | +Os submódulos permitem que repositórios independentes (plugins e temas) sejam integrados ao projeto principal. No fluxo com desenvolvimento no trunk, as operações com submódulos seguem os mesmos princípios de rapidez e integração contínua: |
| 42 | + |
| 43 | +• Desenvolvimento nos Submódulos: |
| 44 | + – Se uma funcionalidade ou correção impactar um plugin ou tema, o desenvolvedor poderá criar uma branch temporária dentro do repositório do submódulo. |
| 45 | + – Após o desenvolvimento e os testes, integre a mudança rapidamente na branch principal do submódulo (ou na branch de integração rápida, conforme o fluxo interno do time). |
| 46 | + |
| 47 | +• Atualizando o Submódulo no Repositório Principal: |
| 48 | + – Assim que o submódulo for atualizado (após merge da branch temporária), o repositório principal precisa apontar para o novo commit: |
| 49 | + 1. Acesse o diretório do submódulo e execute git pull para obter as últimas mudanças. |
| 50 | + 2. No repositório principal, adicione o diretório do submódulo com git add para atualizar sua referência. |
| 51 | + 3. Realize um commit no repositório principal para registrar a atualização da referência. |
| 52 | + – Dessa forma, ao integrar mudanças na main, todos os colaboradores terão a referência atualizada dos plugins/temas. |
| 53 | + |
| 54 | +## PROCESSO DE INTEGRAÇÃO, TESTES E PULL REQUESTS |
| 55 | + |
| 56 | +Mesmo com a integração contínua na branch main, o uso de pull requests (PRs) continua sendo uma excelente prática para revisão do código: |
| 57 | + |
| 58 | +• Criação da Branch Temporária: |
| 59 | + – A partir da main, crie uma branch de feature ou fix. |
| 60 | + – Desenvole a nova funcionalidade ou correção tanto no repositório principal quanto, se necessário, nos submódulos. |
| 61 | + |
| 62 | +• Pull Request para Integração: |
| 63 | + – Ao terminar o desenvolvimento, abra um PR da branch temporária para a main. |
| 64 | + – Descreva as mudanças realizadas, incluindo atualizações dos submódulos, se aplicável. |
| 65 | + – Colegas realizam revisões de código para garantir qualidade e evitar problemas. |
| 66 | + |
| 67 | +• Testes Automatizados e integração (CI/CD): |
| 68 | + – Ao abrir o PR, os testes automatizados (unitários, de integração e outros) são executados para assegurar a integridade da main. |
| 69 | + – Confirme que as referências dos submódulos correspondem a commits validados e aprovados. |
| 70 | + |
| 71 | +• Merge na Main: |
| 72 | + – Após a aprovação do PR e com todos os testes passando, integre a branch temporária à main rapidamente. |
| 73 | + – Essa prática assegura que o código da main esteja sempre atualizado e estável. |
| 74 | + |
| 75 | +## DESENVOLVIMENTO TRUNK COM SUBMÓDULOS |
| 76 | + |
| 77 | +• Integração Rápida e Frequente: |
| 78 | + – As mudanças são integradas na main diversas vezes ao dia, evitando grandes divergências e conflitos. |
| 79 | + |
| 80 | +• Simplicidade no Gerenciamento de Branches: |
| 81 | + – Com uma única branch principal (main), o fluxo se torna mais simples e menos burocrático, eliminando a necessidade de branches longas como develop ou release. |
| 82 | + |
| 83 | +• Feedback Imediato: |
| 84 | + – Sistemas de CI/CD permitem identificar e corrigir problemas rapidamente. |
| 85 | + |
| 86 | +• Atualização Ágil dos Submódulos: |
| 87 | + – A rápida integração permite que os submódulos sejam atualizados constantemente, mantendo tudo em sincronia. |
| 88 | + |
| 89 | +## CONSIDERAÇÕES FINAIS |
| 90 | + |
| 91 | +• Cultura de Integração Contínua: |
| 92 | + – Os desenvolvedores devem integrar continuamente suas mudanças na main, mantendo uma base de código comum e minimizando divergências. |
| 93 | + |
| 94 | +• Comunicação e Colaboração: |
| 95 | + – Manter uma comunicação ativa é fundamental para que as mudanças em submódulos não causem impactos inesperados no software principal. |
| 96 | + |
| 97 | +• Ferramentas de CI/CD: |
| 98 | + – Garanta que sua pipeline de integração contínua esteja configurada para executar testes a cada merge, tanto no repositório principal quanto nos submódulos. |
0 commit comments