Organizações GitHub para um projeto que abrange vários repositórios?

11

Comecei um projeto que envolve pelo menos três repositórios no GitHub.

Um dos repositórios é um dump genérico de documentação e exemplos, e os outros dois contêm a implementação de dois programas que formam a espinha dorsal do projeto.

Devo usar uma organização do GitHub para lidar com essa configuração?
Ou devo simplesmente despejar tudo na minha própria conta, junto com uma dúzia de outros repositórios não relacionados?

jcora
fonte

Respostas:

14

Resposta curta ...

Comece com os repositórios em sua conta pessoal. A partir daí, se / quando as coisas crescerem e / ou ficarem populares com a comunidade, mova-as para uma conta da organização.


Resposta longa ...

Vejamos algumas de suas opções:

1. Organização:

Para obter mais informações sobre os recursos da organização GitHub, leia:

Blog do GitHub: Apresentando organizações

Se você já teve que gerenciar várias contas do GitHub, desejar um painel específico da empresa, desejar adicionar colaboradores somente leitura ou precisar dar a outra pessoa o controle administrativo sobre um de seus repositórios, você vai adorar as organizações.

Com base na sua pergunta, não sei dizer se uma organização é certa para você (meu intestino está me dizendo "não") , mas talvez ver alguns exemplos do mundo real o ajude a tomar sua decisão.

Aqui estão alguns exemplos de organizações do GitHub que considero interessantes:

  1. https://github.com/gruntjs
    Este é um dos meus exemplos favoritos de uma conta de organização de código aberto. Estou muito impressionado com as convenções de nomenclatura usadas para repositórios (ou seja, grunt/é essencialmente o repositório principal e todos os códigos / contribs / plugins / tarefas relacionados ao vivo / grunt-xxxx/repositórios).

  2. https://github.com/github
    Provavelmente vale a pena examinar a própria organização do GitHub. conta. As convenções de nomenclatura usadas para os repositórios não são tão rigorosas quanto as de Grunt (IMHO), mas é um bom exemplo. Ah, e agora é provavelmente um momento decente para apontar a guia "Membros" , pois você não recebe isso para contas ou repositórios pessoais.

  3. https://github.com/twbs
    Twitter Bootstrap. Eu acho que este é um bom exemplo de uma organização. conta com apenas alguns repositórios (observe o repositório único com mais de 58.000 estrelas). Observe também que o Bootstrap possui cinco membros (no momento em que escrevemos isso), mas esses cinco são responsáveis ​​por um repositório incrivelmente popular (em contraste com os 214 membros da Organização GitHub ).

    1. https://github.com/twitter : conta principal do GitHub do Twitter.

Mais alguns exemplos gerais:

  1. https://github.com/yeoman : construa ferramentas.

  2. https://github.com/h5bp : modelo HTML5.

  3. https://github.com/nprapps : exemplo do setor de notícias.

2. Conta pessoal

Como você já mencionou, você pode criar repositórios dentro da sua conta pessoal e partir daí.

Você precisará de colaboradores?

GitHub Help: Colaboração / Como adiciono um colaborador?

Como você pode ver, adicionar colaboradores é bastante indolor.

Com base na sua pergunta, essa opção soa como a que você deseja.

3. Repo com várias ramificações:

Você pode criar um repositório e utilizar ramificações para organizar seus bits de código relacionados.

Acho que a maioria das pessoas não concorda que essa é a melhor maneira de organizar seu código :

Por outro lado, não há nada que diga que você não pode organizar bits de código relacionados usando ramificações.

Um aborrecimento pessoal que tenho com essa técnica é que a GUI / interface do GitHub mostrará esta mensagem:

insira a descrição da imagem aqui

... ao visualizar ramificações diferentes da sua master(ou seja, se sua ramificação estiver adiantada / atrasada em confirmações).

Dica: se você estiver usando uma versão mais recente do Git, poderá extrair ramificações específicas usando git clone -b mybranch --single-branch git://sub.domain.com/repo.git:

Palavras-chave:

4. Abordagem híbrida:

Devo usar uma organização do GitHub para lidar com essa configuração? Ou devo simplesmente despejar tudo na minha própria conta, junto com uma dúzia de outros repositórios não relacionados?

Você pode usar uma combinação de todas as opções acima. Por exemplo:

  1. Configure uma organização para "... despejo de documentação e exemplos genéricos e os outros dois contêm a implementação de dois programas que formam a espinha dorsal do projeto".

  2. Use sua conta pessoal para "... uma dúzia de outros repositórios completamente não relacionados"

  3. Use ramificações para páginas de demonstração gh-pages, código relacionado e / ou documentação.


Notas):

Também vale a pena mencionar que você pode usar o WIKI de um repositório para fins de documentação:

mhulse
fonte