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 matthieu bollot (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 :-/
[^] # Re: Ça m'intéresse
Posté par totof2000 . Évalué à 2.
C'est justement ce que je veux éviter …
# Git bundle
Posté par Michaël (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 utilisesgit bundle
à répétition pour exporter tes modifications, ce qui te donne une suite de fichierstotof2000.1
,totof2000.2
etc. Tes correspondants ont défini unremote
avecLorsqu'ils reçoivent ton archive
totof2000.n
, il la sauvent sous le nom de${HOME}/Download/totof2000
et un simplegit fetch totof2000
ou biengit 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 dromadaire35 . É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 Sébastien Maccagnoni (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 totof2000 . É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.