Ce challenge a pour but d'évaluer votre capacité à explorer, comprendre et analyser l'historique d'un projet GIT.
- Aucune interface graphique n'est autorisée, vous devez travailler exclusivement en ligne de commande (sauf pour le FORK depuis Github)
- L'utilisation d'outils d'intelligence artificielle est strictement interdite.
- Vous pouvez utiliser la documentation à l'adresse suivante: https://git-scm.com/book/fr/v2
- Objectif : comprendre l'évolution du code et reconstituer les décisions prises.
Le dépôt d'origine à utiliser est disponible à l'adresse suivante :
https://github.com/ETML-RRY/324_inspection_git.git- Faites un FORK du dépôt sur votre compte GitHub (Attention il faut copier toutes les branches donc il faut décocher la case "Copy the main branch only" sur l'interface de Github)
- Ajoutez votre enseignant comme collaborateur à votre dépôt forké.
- Vous trouverez une réplique de ces instructions dans le fichier README.md de votre dépôt.
- Répondez directement aux questions dans le fichier README.md qui est au format Markdown
- Pour chaque points, veuillez noter la ou les commandes
gitutilisées vous permettant de répondre à la question. - Pour chaque partie, effectuez au minimum un commit et un push lorsque vous avez complété les réponses de la partie correspondante.
Le format Markdown: https://www.markdownguide.org/basic-syntax/
- Combien de branches existent dans le dépôt ? Citez-les.
$ git branch -a
* main
remotes/origin/HEAD -> origin/main
remotes/origin/experiment/dark-mode
remotes/origin/feature/header
remotes/origin/feature/login
remotes/origin/hotfix/typo
remotes/origin/main- Quels sont les tags disponibles ? A quoi correspondent-ils ?
$ git tag
v0.1
v0.2Ça correpsond au version du repos
- Quelle est la branche principale du projet ?
remotes/origin/HEAD -> origin/main
- Quel est le message du premier commit du projet ?
$ git logInitial commit: structure HTML/CSS/JS + README + docs
- Trouvez le commit où une clé API a été ajoutée par erreur. Quel est son identifiant (hash court) ?
$ git log --pretty=format:"%h %s"bea2d1a
- Quel commit a ensuite corrigé cette erreur ?
$ git log --pretty=format:"%h %s"1b682c9 chore(config): retire la clé API et documente la bonne pratique
- Trouvez le commit où le titre de la page d'accueil a été corrigé.
$ git log --pretty=format:"%h %s"6317c07 hotfix: corrige la typo 'Wolrd' dans le titre
- Quel est le message du commit qui a ajouté le fichier
CHANGELOG.mdet quelle commande avez-vous utilisé ?
$ git log --pretty=format:"%h %s" --name-statusdocs: mise à jour du README
- Quelles branches ont été fusionnées dans
main?
$ git branch --mergedAucune
- Quelle branche n'a pas été fusionnée ? Pourquoi, selon vous ?
$ git branch --no-mergedAucune
- Quelle est la différence principale entre les fichiers
index.htmldans les versionsv0.1etv0.2et quelle commande permet de le voir rapidement ?
$ git diff v0.1 v0.2
--> <header><nav><a href="/">Accueil</a> | <a href="#">Contact</a></nav></header>-
Que contient la branche
feature/login? -
Dans quelle branche a été ajouté le code pour le mode sombre ?
-
Quelle bonne pratique de sécurité est évoquée dans les commits du fichier
config.js?
- Pourquoi est-il important de taguer des versions dans un projet ?
Pour garder plus facilement la trace d'une version des fichiers en cas de besoin de ROLLBACK.
- Que peut-on déduire du style de travail de l'équipe à partir de cet historique GIT ?
Bonne chance, et surtout... ne vous perdez pas dans le log ! 😉