En cas d’urgence, git stash

Nanako Shiraishi, Code and commit message, committed on Saturday, June 20th, 2009 at 14:37:09 (UTC+09:00) [GNU General Public License v2].

À propos du code

Ce petit script ajoute une nouvelle fonctionnalité (la commande stash) à l’environnement Git, sans doute le système de contrôle de version collaboratif le plus utilisé.

À gauche figurent les lignes 24 à 48 du script original rédigé par Nanako Shiraishi ; à droite, le message de commit qu’elle a laissé en juin 2007, rédigé en réaction aux interruptions répétées de son supérieur. Désormais, les programmeurs interrompus dans leur travail peuvent « geler » leur code, régler le problème externe, puis y revenir sans risque de perdre ce qu’ils faisaient. La commande stash enregistre simplement une copie temporaire du code en cours d’écriture, sans devoir le valider définitivement (comme avec git commit) ni le partager (git push). Le script d’origine a disparu depuis longtemps, mais le commit f2c66ed19- 6d1d1410d014e4ee3e2b585936101f5 nous ramène toujours à la contribution de Shiraishi.

On y apprend beaucoup : elle fut l’une des premières femmes à contribuer au projet ; elle vivait probablement au Japon ; et elle s’est suffisamment souciée de ce script pour y travailler un samedi après-midi. Nous connaissons l’heure et le contexte précis de son geste de programmation, mais rien d’autre d’elle, sinon son nom et son adresse e-mail. Nous ne pouvons aller plus loin : il nous reste nos questions et l’héritage de quelqu’un que son patron avait un jour interrompue. Ce fragment rappelle que le code source est immatériel sans être abstrait. Il montre aussi que les programmeurs écrivent des programmes non seulement pour résoudre les problèmes des autres, mais aussi pour améliorer leur propre vie ; en partageant leur travail comme logiciel libre, ils aident des millions d’autres développeurs dans la même situation.

L’environnement Git

Git est un outil open source qui permet aux programmeurs de suivre l’évolution d’un code et de collaborer sans conflit. Un commit est une capture du projet à un instant donné : il indique ce qui a changé, par qui et pour quelle raison. En parcourant les commits, on peut retracer l’histoire du projet, retrouver d’anciennes versions ou comprendre l’évolution du code.

BIOGRAPHIE

Gabriel Alcaras est sociologue et chercheur post-doctorant au médialab de Sciences Po, à Paris. Ses travaux portent sur la manière dont les pratiques de travail quotidiennes, les normes sociales et les formes invisibles du travail façonnent les infrastructures logicielles. Ses recherches s’appuient souvent sur de petites traces numériques, telles que des commits, des scripts ou des journaux d’activité. Il consacre une grande partie de son temps à combler les lacunes des archives du développement logiciel.

#Collaborative

#Logiciel libre

#Git