Je sollicite votre avis sur une méthode, sachant qu'il n'y a ni panne ni
problème, mais plutôt une volonté d'amélioration.
Au boulot, on maîtrise difficilement git, car nous sommes plutôt des
sysadmins que des codeurs.
On utilise un peu les notions de branches et de versions, mais presque
jamais de notions de concurrence et aucun merge ne remonte d'erreur.
L'un de nos serveurs contient un ensemble de fichiers qu'on modifie,
puis des scripts les testent, les parsent, puis ils sont déployés vers
d'autres serveurs.
Actuellement, une gestion très basique de git sur cet ensemble de
fichiers permet simplement de versionner et de garder une trace des
raisons des changements.
Mais on travaille tous en local (et avec le même user) sur un seul
répertoire, et aucune collision ne survient (car les modifs sont peu
nombreuses, quoi que quotidiennes).
Concrètement, les collègues font des modifs, et vu que je suis le seul à
piger un peu git, c'est moi qui réalise les add/commit/push en ajoutant
les commentaires.
J'aimerais qu'on travaille tous dans nos propres répertoires, que chacun
se mette à utiliser git. On y gagnerait de connaître l'auteur des
modifs, et chacun gagnerait en autonomie.
Chacun pourrait travailler dans son /home/x et effectuer un push vers
origin/master.
J'ai cru comprendre (par exemple chez github) que la philosophie
habituelle était plutôt dans l'autre sens (corrigez-moi si je me goure,
mais il me semble que les gens sont encouragés à faire un fork,
modifier, puis envoyer un pull request, et le mainteneur central de
master accepte ou pas de faire un merge... ?)
Chez nous, je ne souhaite pas que quelqu'un soit obligé de merger en
central, et c'est pourquoi je préférerais que tout le monde ait le droit
de pousser (est-ce une bonne idée ?).
Enfin, ce qui manque dans ce circuit, c'est l'action de déploiement.
Actuellement, une fois que les modifs sont réalisées, l'utilisateur
appelle un script de déploiement.
Il me faudrait trouver une idée pour qu'un process - régulièrement -
réalise un pull, puis appelle ce script de déploiement. Je peux mettre
ça dans un cron, mais j'ai la sensation de passer à côté des méthodes
basiques que j'ignore dans l'usage de git.