Re-écrire un historique git

Contexte

Ça y est. Après des mois de travail appliqué, le projet est achevé: toutes les fonctionalités ont été implementées, la couverture de tests est satisfaisante, les scripts de déploiement vers les différents environnements fonctionnent.

Bref le client est satisfait et l’heure est venue de transmettre le projet. Cet fois-ci le client souhaite être autonome et continuer seul à exploiter et faire évoluer le logiciel. C’est son choix, c’est son droit, pas de problème.

[lire la suite]

Vrac d’astuces

Astuces de février

Pont en bois couvert de feuilles

Git

L’opération de rebase avec git modifie l’historique d’une branche. Si pour une raison ou une autre on souhaite annuler l’opération, plutôt que de rejouer chaque commit de la branche depuis l’ancienne origine de la branche, il est possible d’utiliser la commande git-reflog pour récupérer l’identifiant du commit

git reflog ; git reset --hard HEAD{@5}

Surveiller Mysql en mode débrouille

Voici une petite commande pour enregistrer tous les requêtes mysql qui durent plus de deux secondes, lorsque l’on n’a pas accès à des outils de monitoring plus évolué. En jouant sur l’intervalle de rafraîchissement de watch on peut surveiller des commandes plus longues.

[lire la suite]

Notes et Astuces

En guise d’introduction

Voici une série de notes et astuces. Rien d’extra ordinairement nouveau ici, mais c’est pratique de publier en vrac des notes prises au fil des jours pour pouvoir ensuite les retrouver facilement.

Maison renversée. Cliquer pour voir l’image en taille plus grande

Awk pour les fichiers csv

Exemple pour compter le nombre de valeurs uniques du quatrième champs d’un fichier csv, dont le séparateur est un ;:

[lire la suite]

Notes en vrac de fin d’année

Encore un mini post avec une série de mini trucs. Rien d’extra ordinairement nouveau ici, mais c’est pratique de publier en vrac des notes prises au fil des jours pour pouvoir ensuite les retrouver facilement.

Git

git diff-tree --no-commit-id --name-only -r master..develop pour lister les fichiers modifiés entre deux commits, ou deux branches (ici master et develop).

[lire la suite]

Astuces en vrac

Voici quelques astuces que j’ai découvertes ces derniers mois et que j’ai pensées à noter pour plus tard, et aussi pour les partager:

Ligne de commande

  • Quand la commande realpath n’est pas disponible, la commande readlink -f peut la remplacer;
  • pwd -P résout les liens symboliques;
  • less -i rend la recherche insensible à la case (taper -i) à l’intérieur d’un less marche aussi;
  • git log --oneline -- path/to/directory/ liste rapidement toutes les commits qui ont affecté un répertoire.

Sudo

sudo une-commande-qui-genere-du-texte >> fichier-not-writable ne marchera pas, parce que sudo est utilisé par la commande seulement, pas pour la redirection. Il faut utiliser sudo tee

[lire la suite]