blocs de code: mode bash

This commit is contained in:
Emmanuel Viennet 2021-12-30 10:55:32 +01:00
parent ccb90ef8b9
commit e7ae9a6a91

View File

@ -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/<dépôt>.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