From e7ae9a6a91844c6f8b056b81e6b0e69d54559daa Mon Sep 17 00:00:00 2001 From: viennet Date: Thu, 30 Dec 2021 10:55:32 +0100 Subject: [PATCH] blocs de code: mode bash --- docs/GuideDeveloppeurs.md | 79 ++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/docs/GuideDeveloppeurs.md b/docs/GuideDeveloppeurs.md index bb6eae8..2ae3b9b 100644 --- a/docs/GuideDeveloppeurs.md +++ b/docs/GuideDeveloppeurs.md @@ -86,8 +86,9 @@ basique: Vous travaillez dans votre branche `ma_branche`. Pour lui appliquer les mises à jour de `master` (remote): - +```bash git pull origin master +``` #### Commandes utiles, en vrac @@ -97,19 +98,19 @@ jour de `master` (remote): #### Refactoring Lint tous les fichiers modifiés: -``` +```bash git status | grep modified | grep .py | awk '{print $2}' | xargs pylint -E ``` Restore les modes au besoin (SAMBA les changent parfois): -``` +```bash git diff -p -R --no-color | grep -E "^(diff|(old|new) mode)" --color=never | git apply ``` Affiche les variables non définies dans un fichier: -``` +```bash pylint --disable=all -e E sco_parcours_dut.py | grep undefined-variable | awk '{print $4;}' | sort | uniq | tr -d \' ``` Prépare un sed pour renommer les variables non définies: -``` +```bash for f in *.py do pylint --disable=all -e E "$f" | grep undefined-variable | awk '{print "sed -i .bak s/"$4"/scu."$4"/ '$f'";}' | sort | uniq | tr -d \' @@ -152,7 +153,7 @@ le dépôt officiel (`https://scodoc.org/git/ScoDoc/ScoDoc.git`). pour ajouter une référence (et lui donner un nom) vers un dépôt distant, entrez la commande: -``` +```bash git remote add nom_remote https://scodoc.org/git/ScoDoc/.git ``` @@ -162,7 +163,7 @@ cloné l'un des deux dépôts, la référence vers celui-ci existe et a pour nom `origin`. La commande vous exposant tous les dépôts connus est : -``` +```bash git remote -v ``` @@ -171,13 +172,13 @@ La commande vous exposant tous les dépôts connus est : L'objectif de ce paragraphe est de créer une branche locale basée sur le master du dépôt officiel et bien sur de lui donner un nom. -pour cela (attention cela va écraser les éventuels fichiers modifiés) +pour cela (attention cela va écraser les éventuels fichiers modifiés) : +```bash + git reset --hard officiel/master + git checkout -b ma_modif ``` -git reset --hard officiel/master -git checkout -b ma_modif -``` -À partir de la vous pouvez modifier, tester, développer, commit. +À partir de là vous pouvez modifier, tester, développer, commit. #### Suivi @@ -194,16 +195,16 @@ modifications de la branche principale. Ceci peut se faire de deux façons. le plus à jour de la branche principal (il en résulte un historique plus linéaire). -Les commandes git correspondantes: +Les commandes git correspondantes : -``` -git fetch officiel -git merge officiel/master +```bash + git fetch officiel + git merge officiel/master ``` ou -``` -git fetch officiel -git rebase officiel/merge +```bash + git fetch officiel + git rebase officiel/merge ``` #### La livraison @@ -214,9 +215,9 @@ la branche locale `ma_modif`). ##### Étape 1 : faire l'inventaire des fichiers impliqués -``` -git fetch officiel/master -git diff --name-only officiel/master +```bash + git fetch officiel/master + git diff --name-only officiel/master ``` ##### Étape 2 : passer black sur les fichiers modifiés @@ -224,20 +225,20 @@ git diff --name-only officiel/master Cette étape est automatique avec les bons réglages sous VSCode (pas trouvé l'équivalent sous *pyCharm*). -À défaut les lignes suivantes réalisent le même travail: +À défaut les lignes suivantes réalisent le même travail : -``` -for fn in $(git diff --name-only officiel/master) -do - python3 -m black $fn -done +```bash + for fn in $(git diff --name-only officiel/master) + do + python3 -m black $fn + done ``` faire une première lecture rapide pour vérifier qu'il n'y ait pas de fichiers modifiés accidentellement. Pour obtenir la modification sur un fichier spécifique (`app/fichier.py` par exemple) -``` -git diff officiel/master app/fichier.py +```bash + git diff officiel/master app/fichier.py ``` Utilisateurs Windows: Vérifiez bien que les réglages de fin de ligne suivant @@ -252,17 +253,17 @@ nécessaires à votre correctif. Repérez le point de divergence de votre branche locale avec officiel/master (normalement `git merge-base ma_branche officiel/master`) -Demander un `rebase` interactif depuis ce point: +Demander un `rebase` interactif depuis ce point : -``` -git rebase -i $(git merge-base HEAD officiel/master) +```bash + git rebase -i $(git merge-base HEAD officiel/master) ``` Vous devez obtenir dans un éditeur de texte la liste des commits opéré depuis le début du développement sous cette forme (c'est un exemple le nombre de lignes -peut varier): +peut varier) : -``` +```bash pick eb8cbec modif 1 pick 83eb79e modif 2 @@ -303,7 +304,7 @@ toutes les lignes avec la première en remplaçant le 'pick' à partir de la lig (commande `reword` sur la première ligne). Vous construirez par exemple: -``` +```bash reword eb8cbec Correctif: Api - gestion des formation fixup 83eb79e modif 2 ... @@ -311,7 +312,7 @@ fixup 83eb79e modif 2 Quand vous sortez de l'éditeur, git effectue toutes les opérations demandées. -À ce niveau là de la procédure: +À ce niveau là de la procédure : * vous avez un seul commit pour l'ensemble du correctif proposé; @@ -322,8 +323,8 @@ Quand vous sortez de l'éditeur, git effectue toutes les opérations demandées. Vous pouvez maintenant pousser votre branche locale sur votre dépôt personnel (vers une branche de même nom): -``` -git push --set-upstream perso ma_branche +```bash + git push --set-upstream perso ma_branche ``` Si vous avez déjà fait cette opération auparavant il est possible que le push