Articles sur git
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.
Vrac d’astuces
Astuces de février
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.
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.
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 ;:
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).
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
realpathn’est pas disponible, la commandereadlink -fpeut la remplacer; -
pwd -Présout les liens symboliques; -
less -irend la recherche insensible à la case (taper-i) à l’intérieur d’unlessmarche 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

