Primeiro, alguns antecedentes, estamos no processo de transferir todas as nossas equipes de projeto para o uso do git e no processo de estabelecer as diretrizes de como os repositórios devem ser organizados, de modo que certas ramificações também possam ser monitoradas para integração e implantação automática nos servidores de teste. Atualmente, existem dois modelos em desenvolvimento:
Fortemente influenciado pelo artigo nvie.com sobre ramificação bem-sucedida, com a ramificação principal representando o código mais estável, uma ramificação de desenvolvimento para o código de ponta e uma ramificação de integração para o código que está pronto para o teste de controle de qualidade.
Um modelo alternativo no qual a ramificação principal representa o código de desenvolvimento de ponta, uma ramificação de integração para o código que está pronto para teste de controle de qualidade e uma ramificação de produção para o código estável que está pronto para implantação.
Nesse ponto, é parcialmente uma questão de semântica em relação ao que o ramo mestre representa, mas o desenvolvimento ativo no ramo mestre é realmente uma boa prática ou não é realmente relevante?
Respostas:
O único recurso real de definição da
master
ramificação é que é o padrão para algumas operações. Além disso, os nomes das filiais têm significado apenas dentro de um repositório específico. O meumaster
pode apontar para o seudevelopment
, por exemplo. Além disso, ummaster
ramo nem sequer é necessário; portanto, se houver alguma confusão sobre qual ramo deve ser, meu conselho é geralmente deixá-lo de fora.No entanto, na minha opinião, a melhor maneira de pensar nisso é o padrão para empurrar para. A maioria dos tutoriais on-line que seus desenvolvedores leem vai assumir isso. Portanto, faz muito sentido ter
master
qualquer ramo que é mais frequentemente pressionado. Algumas pessoas pensam nisso como a cópia original que é intocável para os desenvolvedores, exceto após o exame mais rigoroso, mas usá-la dessa maneira remove muitos dos padrões úteis que o git fornece. Se você deseja esse tipo de ramo primitivo, eu o colocaria em um repositório completamente separado, no qual apenas algumas pessoas possam escrever.fonte
Não, não é aconselhável, mesmo no começo antes de você fazer o controle de qualidade. Como prática recomendada, o padrão de desenvolvimento deve ser consistente do início ao fim. Sua ramificação mestre deve começar vazia, você deve ramificar sua ramificação de desenvolvimento e começar a adicionar arquivos, mesclar em sua ramificação de integração e, posteriormente, em seu mestre.
Embora ninguém se importe durante o desenvolvimento que o ramo mestre não construa, ele se presta a maus hábitos desde o início. O mestre sempre deve criar e, para as principais liberações de recursos, também não seria uma má idéia arquivar ramificações das principais compilações, para que pontos de liberação estáveis possam ser retornados, se necessário.
fonte