52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
##TP5 Activité de groupe : Découverte de Git sous Linux
|
|
|
|
# Objectif de l'activite
|
|
Cette activite a pour but de decouvrir les commandes de base de Git sous Linux, dans un contexte
|
|
collaboratif. Les etudiants travailleront par groupes pour developper un mini-projet en C, tout en utilisant les
|
|
fonctionnalites principales de Git : clone d'un depot distant, commits, branches, fusions, resolution de conflits
|
|
et push vers Gitea.
|
|
Etape 1 - Recuperation du projet depuis Gitea
|
|
Chaque groupe commence par cloner un depot vide ou prepare sur le serveur Gitea. Ils se placent ensuite
|
|
dans le dossier du projet, ajoutent un fichier source en C, et realisent un premier commit suivi d'un push vers
|
|
Gitea.
|
|
git clone http://<adresse-gitea>/<utilisateur>/projet-git.git
|
|
cd projet-git
|
|
nano main.c
|
|
git add main.c
|
|
git commit -m "Initial commit avec fichier main.c"
|
|
git push origin main
|
|
Etape 2 - Travail en branches
|
|
Chaque membre du groupe cree sa propre branche pour ajouter une fonction au programme C. A la fin,
|
|
chaque membre effectue un commit sur sa branche et pousse la branche sur le serveur Gitea.
|
|
git checkout -b feature-nom
|
|
# Modifier main.c pour ajouter une fonction ou un commentaire
|
|
git add main.c
|
|
git commit -m "Ajout de la fonction X"
|
|
git push origin feature-nom
|
|
Etape 3 - Fusion des branches
|
|
Les membres du groupe fusionnent leurs branches dans la branche principale en local, puis synchronisent le
|
|
depot avec Gitea. Des conflits peuvent survenir et devront etre resolus manuellement.
|
|
Activité de groupe : Découverte de Git sous Linux
|
|
git checkout main
|
|
git pull origin main
|
|
git merge feature-nom
|
|
# En cas de conflit :
|
|
git status
|
|
git diff
|
|
# Resoudre manuellement les conflits, puis :
|
|
git add main.c
|
|
git commit -m "Resolution de conflit"
|
|
git push origin main
|
|
Etape 4 - Consultation de l'historique
|
|
Les etudiants consultent l'historique des commits et visualisent la structure du projet.
|
|
git log --oneline --graph --all
|
|
Fichier C de depart (main.c)
|
|
#include <stdio.h>
|
|
int main() {
|
|
printf("Bonjour, Git !\n");
|
|
return 0;
|
|
}
|
|
Conclusion
|
|
Cette activite permet d'experimenter concretement la gestion de versions avec Git et de comprendre les
|
|
avantages du travail en branches. Elle met en evidence la puissance de Git pour la collaboration et la
|
|
tracabilite dans les projets de developpement, notamment via l'utilisation d'une forge logicielle comme Gitea. |