O repositório Git aplica os metadados do committer

1

O objetivo é que eu gerencie projetos que podem ser distribuídos entre várias agências terceirizadas e gostaríamos, se possível, de impedi-los de conhecer um ao outro, vendo os metadados de confirmação de "Nome de usuário: [email protected]" puramente para evitar quaisquer questões políticas potenciais.

Um método seria forçá-los a se comprometer com um endereço de e-mail em conformidade com um padrão, por exemplo, "@ minhaempresa.com" ou poderíamos reescrever o endereço de e-mail para confirmar esse padrão?

Alternativamente, poderíamos manter 2 repositórios e eu ou os colegas seremos responsáveis por migrar os commits entre os 2 periodicamente, removendo os metadados do committer.

Atualmente, estamos usando o GitLab para gerenciar nossos repositórios, embora eu possa imaginar que tal funcionalidade possa ser tratada nos ganchos de pré-consolidação?

    
por DanH 01.08.2014 / 04:24

1 resposta

0

Você pode usar um pre-commit hook para "avisar" um usuário que ele está cometendo com os detalhes errados, mas não há garantia que ele será executado - os ganchos não são ativados por padrão em novos clones (para que as pessoas tenham que configurá-los) e você pode passar --no-verify para git commit para impedir que o pre-commit hook seja executado. É uma boa ideia fornecer, e recomendar, para que as pessoas sejam alertadas, o mais cedo possível, de que o commit é ruim, mas não pode ser usado para impor um requisito.

Para impedir que os usuários "publiquem" suas alterações inválidas, você precisa usar um update hook no repositório central ("integration") que verifica todos os novos commits sendo enviados e rejeita todo o push se algum dos commits falhar na validação. Você também desejará fornecer documentação (possivelmente na própria mensagem de rejeição de envio) sobre como usar git filter-branch para corrigir os commits inválidos.

    
por 13.08.2015 / 00:53

Tags