Aim: Réalisation d'un outil de suivi et de versionnage de code (git
)
Current progress: 100% finished
Réalisatrices: Vu Hoang Thuy Duong & Halimatou Diallo
Instructeurs: Paul Hermouet & Louis Serrano
Un logiciel de gestion de versions est un outil permettant le stockage, le suivi et la gestion de plusieurs versions d'un projet (ou d'un ensembles de fichiers).
- offrent un accès aisé à l'historique de toutes les modifications effectuées sur les fichiers + permettent notamment de récupérer une version antérieure en cas de problème.
- très utiles dans le cadre de travail collaboratif, permettant de fusionner de manière intelligente différentes versions d'un même projet.
Objectif: Étudier le fonctionnement d'un logiciel de gestion de versions, en détaillant différentes structures de données impliquées dans sa mise en oeuvre.
- Preliminary
- Enregistrement de plusieurs instantanées
- Gestion des commits
- Timeline arborescente
- Fusions de branches
./myGit init
: initialise le répertoire de références./myGit list-refs
: affiche toutes les références existantes./myGit create-ref <name> <hash>
: crée la référence<name>
qui pointe vers le commit correspondant au<hash>
donné./myGit delete <name>
: supprime la référencename
./myGit add <elem> [<elem2> <elem3> ...]
: ajoute un ou plusieurs fichiers/répertoires à la zone de préparation (prochain commit)./myGit list-add
: affiche le contenu de la zone de préparation./myGit clear-add
: vide la zone de préparation./myGit commit <branch-name> [-m <message>]
: effedctue un commit sur une branche, avec ou sans mesage descriptif./myGit get-current-branch
: affiche le nom de la branche courante./myGit branch <branch-name>
: crée une branche qui s'appelle<branch-name>
si elle n'existe pas déjà./myGit branch-print <branch-name>
: affiche le hash de tous les commits de la branche, accompagné de leur message descriptif éventuel./myGit checkout-branch <branch-name>
: réalise un déplacement sur la branche<branch-name>
./myGit checkout-commit <pattern>
: réalise un déplacement sur le commit qui commence par<pattern>
./myGit merge <branch> <message>
: merge la branche courante avec la branche<branch>
en gérant les conflits