Forum Programmation.autre GitHub Like : possibilité de ne pas diffuser les versions/branches de travail d'un projet

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
26
nov.
2015

Bonjour.

Je m'interroge sur la possibilité potentiellement offerte par GitHub (ou autres) : pouvoir partager un projet ou une branche uniquement entre certains développeurs pendant la phase de développement. On pourrait me dire de garder ma propre branche en local, mais je voudrais avoir la possibilité de garder une partie du projet non visible par tout le monde le temps que les devs bossent dessus.

Explications : je suis sur un petit projet perso (même plusieurs) que je voudrai diffuser peut-être plus tard. Aujourd'hui mon travail est plus proche d'un POC que d'un réel projet, et j'aimerais ne pas diffuser de suite mon code, je voudrais avoir quelque chose d'utilisable avant. Si ça marche bien, je souhaiterais également ne pas diffuser tout le code de suite lors de l'évolution de certaines parties du projet, mais me laisser à moi (ou à d'autres dev) la possibilité de faire leur taf tranquillement (puis merger les modifs dans une branche plus "publique").

Est-ce possible sous GitHub par exemple ? Est-ce qu'un autre environnement d'hébergement de projets libres le permet ?

Merci d'avance.

  • # Ça m'intéresse

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    Si tu trouves, ça m'intéresse.

    Sinon la solution que je connais c'est de ne pas pusher sur github mais se faire des push/pull directement entre développeurs par ssh mais ça nécessite de pouvoir se connecter en ssh aux machines des dév, c'est pas évident et fastidieux à mettre en place :-/

  • # Git bundle

    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 26 novembre 2015 à 21:13.

    Tu peux utilise la commande git bundle pour faire une archive fichier avec ta branche, que tu peux envoyer par email, en cryptant le cas échéant. L'archive peut ensuite être importée dans un repo normal. En pratique, tu utilises git bundle à répétition pour exporter tes modifications, ce qui te donne une suite de fichiers totof2000.1, totof2000.2 etc. Tes correspondants ont défini un remote avec

    % git remote add totof2000 file://${HOME}/Download/totof2000
    

    Lorsqu'ils reçoivent ton archive totof2000.n, il la sauvent sous le nom de ${HOME}/Download/totof2000 et un simple git fetch totof2000 ou bien git pull --ff-only totof2000 importe les nouvelles références. En écrivant un petit script pour t'aider à préparer tes archives, tu obtiens une solution avec une intendance raisonnable.

  • # Bitbucket

    Posté par  . Évalué à 2.

    BitBucket permet de définir qui a le droit d'écrire ou non dans une branche donnée, cf. https://blog.bitbucket.org/2013/09/16/take-control-with-branch-restrictions/

    Ça n'est pas exactement ce que tu cherches, mais ça peut être une approche suffisante.

  • # plusieurs remotes

    Posté par  (site web personnel) . Évalué à 2.

    Salut,

    Tu peux développer dans un projet privé et, une fois ton truc publiable, pousser les modification dans un projet public.

  • # Je vois que ce n'est pas possible ....

    Posté par  . Évalué à 2. Dernière modification le 28 novembre 2015 à 12:30.

    Merci pour vos retours. Vous me confirmez ce que j'avais cru comprendre en regardant un peu partout : ce n'est pas possible à la base.

    Par contre je me demande s'il ne serait pas possible de jouer avec les hooks pour le permettre (je ne connais pas trop cet aspect de git). Un avis ? une bonne doc à me suggerer ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.