Le petit mail un peu passif agressif du vendredi soir "Bonjour, comment se fait-il que vos 2 groupes m'aient rendu quasiment le même projet ? Merci !"
"L'honnêteté est ici votre seule issue car la note que vous aurez au projet ne sera de toutes façons pas très bonne"
Un peu de compassion pour mon étudiant qui n'arrivait pas à soumettre son projet sur gitlab et à qui chatGPT a conseillé de faire "git reset –hard origin/master^" 😬 (et donc son projet a été tout effacé, et donc il a demandé à un copain un projet de secours, ce qui était une autre mauvaise idée)
@pyviv
C'est le métier qui rentre 😅
@pyviv au moins il a appris a quoi servait git reset --hard :-)
@tatsuo @pyviv Il a aussi appris à quoi servait une ia générative : à rien.
@pyviv (vous lui avez parle de git reflog ?)
@ftregan je connais pas git reflog !

@pyviv je vous laisse lire la doc, mais en gros ca garde un historique de tous les etats par lesquels on est passe. Dans ce cas ca aurait pu permettre de revenir a l'etat avant le reset.

En gros : `git reflog` donne une liste d'etat et d'actions qui y ont mene, on retrouve la ligne du "reset --hard", et on fait un checkout en utilisant le hash de l'etat juste avant celui la.

@ftregan @pyviv git log --all ne suffit pas?

Je suis ceinture jaune en git, je ne maîtrise pas toutes les arcanes mais je suis sincèrement curieux.

@Enthalpiste @pyviv git reset --hard ca remplacer l'etat courrant par un autre, avec un historique different, donc le git log --all ne te montrera pas le commit perdu qui ne fait pas partie du nouvel historique :

@ftregan
@Enthalpiste @pyviv Ah, je m'en étais encore jamais servi, j'avais une vague idée de ce que ça faisait... Je privilégie des .tar.gz avant d'empiler des manips délicates (ce qui demande d'y penser à temps). Merci pour l'exemple, c'est parlant ! Par contre, j'ai eu un doute sur le "--hard", et non seulement il y a rembobinage du commit, mais aussi perte des "untracked", ça implique que tout fût déjà en commit.

Pensée à l'étudiant, oui, les débuts avec git, ça pique !

@r3vlibre @Enthalpiste @pyviv pour les changement non commites, tu as une chance de les retrouver avec un : git fsck --lost-found

@ftregan Ah, ça j'avais jamais rencontré ! Merci :)

@Enthalpiste @pyviv

Can I recover a branch after its deletion in Git?

If I run git branch -d XYZ, is there a way to recover the branch? Is there a way to go back as if I didn't run the delete branch command?

Stack Overflow
@r3vlibre @ftregan @Enthalpiste @pyviv si je peux me permettre, c'est chatgpt qui pique, c'est ne pas lire la doc qui pique.
@patpro Oui, ici c'est bien ChatGPT le souci. En revanche, je parlais bien de l'apprentissage de git qui n'est pas simple, indépendamment de ChatGPT. Le commentaire du "métier qui rentre" de @s_mailler me paraît à point nommé. J'en ai fait des bourdes avec git, et ChatGPT n'existait pas. Entre un tuto et la mise en pratique en situation réelle, il y a un pas. La doc est vaste et prend sens quand on applique les commandes. Et, pourtant j'avais l'exp. de CVS, SVN, Hg.
@ftregan @Enthalpiste @pyviv
@r3vlibre

Je ne commenterais pas sur git, j’aime pas du tout et je m’en tiens le plus éloigné possible (team #svn et team #vieucon) mais je ne vois pas comment le métier va rentrer pour cet étudiant : plutôt que de chercher une solution à son problème d’apprentissage (« j’ai merdé, comme je rattrape le coup ») il a cherché une solution à son problème de « rendre un truc à la prof ».
Je ne sais pas de quel cycle on parle, la bourde à bac+0 n’a bien évidemment pas la même résonance qu’à bac+3, mais je ne suis pas optimiste. Étant témoin de l’adoption de chatgpt comme béquille systématique chez des sysadmins et en mesurant le résultat en production, je suis même extrêmement pessimiste.
Le vrai souci c’est le débrayage du cerveau qui atrophie la qualification, l’esprit critique, la créativité, etc. Quand c’est un étudiant c’est pire puisqu’il ne va même pas développé ces éléments…

@s_mailler @ftregan @Enthalpiste @pyviv
@patpro @r3vlibre @s_mailler @ftregan @Enthalpiste c'est un étudiant de 1ère année, on peut espérer que ça s'améliore justement du fait que tous mauvais choix qu'il a fait (ne pas sauvegarder régulièrement, demander à l'IA de résoudre son problème, exécuter une commande incomprise, présenter le projet d'un autre) n'ont eu que des conséquences négatives. La seule chose qui a finalement amélioré son cas a été de faire preuve d'honnêteté à la fin et de m'expliquer ce qui s'était passé. Donc on peut espérer qu'une prochaine fois, il fera des choix différents et qu'il gardera au moins une méfiance par exemple par rapport aux conseils d'une IA

@ftregan @pyviv ah ok, c'est plus clair.

Une option dont je pense donc que je ne me servirai pas souvent. Ça m'a l'air trop spécifique et bien trop risqué.

@Enthalpiste @pyviv disons que quand tu fais des erreurs en essaynt de trafiquer ton historique (ce qui peut avoir du sense), ca te sors des problemes :D
La semaine prochaine normalement je commence a ecrire un guide sur git avec tous ces trucs que j'aurais aimer comprendre plus tot.

@HydrePrever @ftregan @Enthalpiste @pyviv comme guide, je conseille "think like a git", c'est pas très long et ça se lit bien, mais je ne galère pratiquement plus jamais avec git depuis que je l'ai lu y'a 15 ans.

http://think-like-a-git.net/

Home // Think Like (a) Git

@Enthalpiste @pyviv
Ca fais trois en trois semaine que le sujet de se retrouver coince avec git revient. Je me lance, j'ecris la doc que j'aurais aime trouver a mes debuts.
Je vais faire ca sur twitch si vous voulez passer m'aider (ne serait-ce qu'avec vos questions) !
https://www.twitch.tv/treguy
treguy - Twitch

Je suis developpeur freelance, je fais principalement du dev java et du coaching. Heureusement je travaile pas tous les jours ce qui me permet de bidouiller des trucs avec de l'electronique, du bois, de l'assembleur...

Twitch
@ftregan @pyviv j'ai pensé à la même chose ! Mais j'imagine le stress de l'étudiant !

@pyviv Avec un peu de chance il aura retenu qu'il vaut mieux faire une copie de son projet avant de lancer une commande GIT qu'on ne comprend pas...

Voire qu'un chatbot ça répond tout et n'importe quoi, mais là j'en espère un peu trop, peut-être.

@pyviv C'est la bonne occasion pour se mettre à git reflog ou à jj 😅
@pyviv c'est quand même plus original que "mon chien a mangé ma copie" même si c'est concrètement du même niveau...
@pyviv manquerait plus qu'un rm -Rf / conseillé par ChatGPT et la bourde serait complète 😁
@pyviv ça m'intéresserait de savoir ce que cet élève en aura retenu comme leçon et quel sera son rapport aux LLM par la suite...
@pyviv n'ayant pas besoin de ChatGPT pour faire des bêtises dans Git, j'ai toujours une copie de mon dépôt local dans un coin, que je synchronise avec rsync chaque jour, au cas où j'aurais à un moment des p'tits yeux et des gros doigts en faisant mes commits :)
@stanlog @pyviv pas vraiment nécessaire **tant que tu as commité tes changements**. Un commit peux être récupéré assez longtemps...
@pyviv Ça lui aura au moins appris une bonne leçon : ne pas faire confiance aux LLMs

Après il aurait pu récupérer avec
git reflog vu que le GC n'est normalement pas directement appelé, mais il faut connaitre un peu git pour savoir ça
@Varpie @pyviv les commits dans le reflog ne sont pas garbage collectés donc il a 3 mois env pour le récupérer.