Organisations GitHub pour un projet couvrant plusieurs référentiels?

11

J'ai lancé un projet qui implique au moins trois référentiels sur GitHub.

L'un des référentiels est un vidage générique de documentation et d'exemples, et les deux autres contiennent l'implémentation de deux programmes qui forment l'épine dorsale du projet.

Dois-je utiliser une organisation GitHub pour gérer une telle configuration?
Ou devrais-je simplement tout vider sur mon propre compte, avec une douzaine d'autres référentiels complètement indépendants?

jcora
la source

Réponses:

14

Réponse courte ...

Commencez avec les référentiels de votre compte personnel. À partir de là, si / quand les choses grandissent et / ou deviennent populaires auprès de la communauté, déplacez-les vers un compte d'organisation.


Longue réponse ...

Examinons certaines de vos options:

1. Organisation:

Pour plus d'informations sur les fonctionnalités de GitHub Organization, assurez-vous de lire:

Blog GitHub: Présentation des organisations

Si vous avez déjà eu à gérer plusieurs comptes GitHub, à souhaiter un tableau de bord spécifique à l'entreprise, à ajouter des collaborateurs en lecture seule ou à donner à quelqu'un d'autre le contrôle administratif sur l'un de vos référentiels, vous allez adorer les organisations.

Sur la base de votre question, je ne peux pas dire si une organisation vous convient (mon instinct me dit "non") , mais peut-être que regarder des exemples concrets vous aidera à prendre votre décision.

Voici quelques exemples d'organisations GitHub que je trouve intéressant à regarder:

  1. https://github.com/gruntjs
    Ceci est l'un de mes exemples préférés de compte d'organisation open source. Je suis surtout impressionné par les conventions de dénomination utilisées pour les référentiels (c'est-à-dire qu'il grunt/s'agit essentiellement du référentiel principal et de tous les core / contrib code / plugins / tâches associés en direct dans les grunt-xxxx/référentiels).

  2. https://github.com/github
    Cela vaut probablement la peine de regarder la propre organisation de GitHub. Compte. Les conventions de dénomination utilisées pour les référentiels ne sont pas aussi strictes que celles de Grunt (IMHO), mais c'est néanmoins un bon exemple. Oh, et c'est probablement le bon moment pour signaler l' onglet "Membres" , car vous ne l'obtenez pas pour les comptes personnels ou les référentiels.

  3. https://github.com/twbs
    Twitter Bootstrap. Je pense que c'est un bon exemple d'organisation. compte avec seulement quelques référentiels (notez le repo unique avec plus de 58 000 étoiles). Notez également que Bootstrap compte cinq membres (au moment d'écrire ces lignes), mais ces cinq sont responsables d'un référentiel incroyablement populaire ( contrairement aux 214 membres de l'organisation GitHub ).

    1. https://github.com/twitter : le principal compte GitHub de Twitter.

Quelques exemples plus généraux:

  1. https://github.com/yeoman : outils de construction.

  2. https://github.com/h5bp : passe-partout HTML5.

  3. https://github.com/nprapps : exemple de l'industrie des nouvelles.

2. Compte personnel

Comme vous l'avez déjà mentionné, vous pouvez créer des référentiels dans votre compte personnel et y aller.

Aurez-vous besoin de collaborateurs?

Aide GitHub: Collaboration / Comment ajouter un collaborateur?

Comme vous pouvez le voir, l'ajout de collaborateurs est assez indolore.

En fonction de votre question, cette option ressemble à celle que vous souhaitez.

3. Repo avec plusieurs succursales:

Vous pouvez créer un référentiel et utiliser des branches pour organiser vos bits de code associés.

Je ne pense pas que la plupart des gens conviendraient que c'est la meilleure façon d'organiser votre code :

D'un autre côté, rien ne dit que vous ne pouvez pas organiser les bits de code associés à l'aide de branches.

Une gêne personnelle que j'ai avec cette technique est que l'interface graphique / l'interface de GitHub vous montrera ce message:

entrez la description de l'image ici

... lors de l'affichage de branches autres que la vôtre master(c'est-à-dire si votre branche est en avance / en retard dans les commits).

Conseil: Si vous utilisez une version plus récente de Git, vous pouvez extraire des branches spécifiques en utilisant git clone -b mybranch --single-branch git://sub.domain.com/repo.git:

En relation:

4. Approche hybride:

Dois-je utiliser une organisation GitHub pour gérer une telle configuration? Ou devrais-je simplement tout vider sur mon propre compte, avec une douzaine d'autres référentiels complètement indépendants?

Vous pouvez utiliser une combinaison de tout ce qui précède. Par exemple:

  1. Configurez une organisation pour "... la documentation générique et les exemples de vidage, et les deux autres contiennent l'implémentation de deux programmes qui forment l'épine dorsale du projet".

  2. Utilisez votre compte personnel pour "... une douzaine d'autres référentiels totalement indépendants"

  3. Utilisez des branches pour les pages de démonstration gh-pages, le code associé et / ou la documentation.


Remarques):

Il convient également de mentionner que vous pouvez utiliser le WIKI d'un référentiel à des fins de documentation:

mhulse
la source