Um título estranho, sim, mas eu tenho um pouco de terreno para cobrir, eu acho.
Temos uma conta de organização no github com repositórios privados. Queremos usar os recursos nativos de questões / solicitações de recebimento do github (solicitações de recebimento são basicamente exatamente o que queremos, tanto quanto revisões de código e discussões sobre recursos). Encontramos o hub de ferramentas da defunkt, que possui um recurso interessante de converter um problema existente em uma solicitação de recebimento e associar automaticamente seu ramo atual a ele.
Gostaria de saber se é uma prática recomendada que cada desenvolvedor da organização faça uma bifurcação no repositório da organização para fazer seu trabalho de recurso / correções de bugs / etc. Parece um fluxo de trabalho bastante sólido (como é basicamente o que todo projeto de código aberto faz no github), mas queremos ter certeza de que podemos rastrear problemas e receber solicitações de ONE source, o repositório da organização.
Então, eu tenho algumas perguntas:
- É uma abordagem de bifurcação por desenvolvedor neste caso? Parece que pode ser um pouco exagerado. Não tenho certeza de que precisamos de uma bifurcação para todos os desenvolvedores, a menos que apresentemos desenvolvedores que não tenham acesso direto por push e precisem de todo o código revisado. Nesse caso, gostaríamos de instituir uma política como essa, apenas para esses desenvolvedores. Então, qual é o melhor? Todos os desenvolvedores em um único repositório ou um fork para todos?
- Alguém tem experiência com a ferramenta de hub, especificamente o recurso de solicitação de recebimento? Se fizermos um fork por desenvolvedor (ou mesmo para desenvolvedores menos privilegiados), o recurso de solicitação de recebimento do hub funcionará nas solicitações de recebimento do repositório principal upstream (o repositório da organização?) Ou ele tem um comportamento diferente?
EDIT
Fiz alguns testes com problemas, garfos e solicitações pull e descobri isso. Se você criar um problema no repositório da sua organização, faça uma bifurcação do repositório da sua organização para a sua própria conta do github, faça algumas alterações e mescle com a ramificação principal do seu fork. Quando você tenta executar, hub -i <issue #>
você recebe um erro User is not authorized to modify the issue
,. Então, aparentemente esse fluxo de trabalho não funcionará.