blocs de code: mode bash
This commit is contained in:
parent
ccb90ef8b9
commit
e7ae9a6a91
@ -86,8 +86,9 @@ basique:
|
|||||||
|
|
||||||
Vous travaillez dans votre branche `ma_branche`. Pour lui appliquer les mises à
|
Vous travaillez dans votre branche `ma_branche`. Pour lui appliquer les mises à
|
||||||
jour de `master` (remote):
|
jour de `master` (remote):
|
||||||
|
```bash
|
||||||
git pull origin master
|
git pull origin master
|
||||||
|
```
|
||||||
|
|
||||||
#### Commandes utiles, en vrac
|
#### Commandes utiles, en vrac
|
||||||
|
|
||||||
@ -97,19 +98,19 @@ jour de `master` (remote):
|
|||||||
#### Refactoring
|
#### Refactoring
|
||||||
|
|
||||||
Lint tous les fichiers modifiés:
|
Lint tous les fichiers modifiés:
|
||||||
```
|
```bash
|
||||||
git status | grep modified | grep .py | awk '{print $2}' | xargs pylint -E
|
git status | grep modified | grep .py | awk '{print $2}' | xargs pylint -E
|
||||||
```
|
```
|
||||||
Restore les modes au besoin (SAMBA les changent parfois):
|
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
|
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:
|
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 \'
|
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:
|
Prépare un sed pour renommer les variables non définies:
|
||||||
```
|
```bash
|
||||||
for f in *.py
|
for f in *.py
|
||||||
do
|
do
|
||||||
pylint --disable=all -e E "$f" | grep undefined-variable | awk '{print "sed -i .bak s/"$4"/scu."$4"/ '$f'";}' | sort | uniq | tr -d \'
|
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
|
pour ajouter une référence (et lui donner un nom) vers un dépôt distant, entrez
|
||||||
la commande:
|
la commande:
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git remote add nom_remote https://scodoc.org/git/ScoDoc/<dépôt>.git
|
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`.
|
`origin`.
|
||||||
|
|
||||||
La commande vous exposant tous les dépôts connus est :
|
La commande vous exposant tous les dépôts connus est :
|
||||||
```
|
```bash
|
||||||
git remote -v
|
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
|
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.
|
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
|
À partir de là vous pouvez modifier, tester, développer, commit.
|
||||||
git checkout -b ma_modif
|
|
||||||
```
|
|
||||||
À partir de la vous pouvez modifier, tester, développer, commit.
|
|
||||||
|
|
||||||
#### Suivi
|
#### 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
|
le plus à jour de la branche principal (il en résulte un historique plus
|
||||||
linéaire).
|
linéaire).
|
||||||
|
|
||||||
Les commandes git correspondantes:
|
Les commandes git correspondantes :
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git fetch officiel
|
git fetch officiel
|
||||||
git merge officiel/master
|
git merge officiel/master
|
||||||
```
|
```
|
||||||
ou
|
ou
|
||||||
```
|
```bash
|
||||||
git fetch officiel
|
git fetch officiel
|
||||||
git rebase officiel/merge
|
git rebase officiel/merge
|
||||||
```
|
```
|
||||||
|
|
||||||
#### La livraison
|
#### La livraison
|
||||||
@ -214,9 +215,9 @@ la branche locale `ma_modif`).
|
|||||||
|
|
||||||
##### Étape 1 : faire l'inventaire des fichiers impliqués
|
##### Étape 1 : faire l'inventaire des fichiers impliqués
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git fetch officiel/master
|
git fetch officiel/master
|
||||||
git diff --name-only officiel/master
|
git diff --name-only officiel/master
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Étape 2 : passer black sur les fichiers modifiés
|
##### É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é
|
Cette étape est automatique avec les bons réglages sous VSCode (pas trouvé
|
||||||
l'équivalent sous *pyCharm*).
|
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 :
|
||||||
|
|
||||||
```
|
```bash
|
||||||
for fn in $(git diff --name-only officiel/master)
|
for fn in $(git diff --name-only officiel/master)
|
||||||
do
|
do
|
||||||
python3 -m black $fn
|
python3 -m black $fn
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
faire une première lecture rapide pour vérifier qu'il n'y ait pas de fichiers
|
faire une première lecture rapide pour vérifier qu'il n'y ait pas de fichiers
|
||||||
modifiés accidentellement.
|
modifiés accidentellement.
|
||||||
|
|
||||||
Pour obtenir la modification sur un fichier spécifique (`app/fichier.py` par exemple)
|
Pour obtenir la modification sur un fichier spécifique (`app/fichier.py` par exemple)
|
||||||
```
|
```bash
|
||||||
git diff officiel/master app/fichier.py
|
git diff officiel/master app/fichier.py
|
||||||
```
|
```
|
||||||
|
|
||||||
Utilisateurs Windows: Vérifiez bien que les réglages de fin de ligne suivant
|
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
|
Repérez le point de divergence de votre branche locale avec officiel/master
|
||||||
(normalement `git merge-base ma_branche officiel/master`)
|
(normalement `git merge-base ma_branche officiel/master`)
|
||||||
|
|
||||||
Demander un `rebase` interactif depuis ce point:
|
Demander un `rebase` interactif depuis ce point :
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git rebase -i $(git merge-base HEAD officiel/master)
|
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
|
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
|
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 eb8cbec modif 1
|
||||||
pick 83eb79e modif 2
|
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).
|
(commande `reword` sur la première ligne).
|
||||||
|
|
||||||
Vous construirez par exemple:
|
Vous construirez par exemple:
|
||||||
```
|
```bash
|
||||||
reword eb8cbec Correctif: Api - gestion des formation
|
reword eb8cbec Correctif: Api - gestion des formation
|
||||||
fixup 83eb79e modif 2
|
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.
|
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é;
|
* 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
|
Vous pouvez maintenant pousser votre branche locale sur votre dépôt personnel
|
||||||
(vers une branche de même nom):
|
(vers une branche de même nom):
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git push --set-upstream perso ma_branche
|
git push --set-upstream perso ma_branche
|
||||||
```
|
```
|
||||||
|
|
||||||
Si vous avez déjà fait cette opération auparavant il est possible que le push
|
Si vous avez déjà fait cette opération auparavant il est possible que le push
|
||||||
|
Loading…
Reference in New Issue
Block a user