Modelo de ramificação do GIT para trabalho derivado

5

Estou planejando usar modelo de ramificação de Vincent Driessen que achei excelente para minha desenvolvimento atual. Acho que a abordagem de Vincent é muito geral para qualquer projeto de desenvolvimento, mas estou achando difícil lidar com o seguinte cenário.

Estou trabalhando em um aplicativo que será marcado para vários clientes, portanto, cada um dos meus pacotes é um ramo diferente que eu rebase do develop ramificar toda vez que uma nova versão for lançada. Cada marca tem seus ativos (imagens e texto) e eles não entram em conflito com as alterações na ramificação develop , porque nessa agência eu nunca toquei nos ativos.

Minha pergunta é: agora que estou planejando usá-lo, como posso lidar com versões diferentes com base na mesma base de código, mas com recursos diferentes?

    
por licorna 13.10.2010 / 21:24
fonte

2 respostas

1

Se cada marca tiver recursos independentes, você poderá criar cada ramificação de cliente a partir de develop e, em seguida, pull futuras alterações conforme necessário. Ativos individuais podem ser criados, editados e comprometidos no ramo apropriado do cliente.

Um bom efeito colateral disso é que você poderia ter ativos comuns em develop se isso fizer sentido.

Dependendo da distribuição do seu desenvolvimento, você pode considerar pull ing do mestre, em vez de rebase ing. Você não deseja rebase se os commits estiverem sendo enviados para outros repositórios.

Para resumir: alterações de código em develop ; alterações de ativo em customer-X ; ocasionalmente pull de develop para customer-X . Classificado.

    
por 20.10.2010 / 02:00
fonte
3

Eu folheei o artigo, então não posso ter certeza de que tudo está 100% correto, mas aqui está a minha ideia: você pode simplesmente editar seus recursos na ramificação master ? Ou, se você estiver mantendo suas "ramificações de marca", modifique seus recursos somente lá. Você pode simplesmente mesclar o código do seu develop , já que você não está tocando em nenhum recurso lá.

Para ser honesto, se os ativos forem o único problema aqui, criaria um arquivo de configuração (ou uma tabela de banco de dados, se você tiver um) para o seu aplicativo, que informaria quais ativos carregar dinamicamente. Isso eliminaria quaisquer "ramificações de marca" e facilitaria a manutenção de seus ativos com facilidade.

    
por 13.10.2010 / 23:23
fonte