TP5-gitlinux/README.md
2025-04-09 16:21:39 +00:00

81 lines
2.5 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 - Création et Recuperation du projet depuis Gitea
***
Attention tout ce qui est entre *truc* dans être modifier pour corespondre au nommage de vos fichiers et projets
***
Créer en compte pour chaque membre de groupe sur https://gitea.apf-bi.ovh (avec votre addresse unilim)
Créer un depot publique sur le gitea avec l'un des comptes juste créer (le nommer en accord avec votre groupe de TP: MIX-1-toto-tata)
Chaque groupe commence par cloner un depot depuis le gitea sur sa machine virtuelle linux (la lancer avec l'icone xubuntu du bureau. identifiant eleve mdp eleve).
```
git clone http://gitea.apf-bi.ovh/*<utilisateur>*/*projet-git.git*
```
Ensuite placez vous dans le dossier du projet, ajoutez un fichier source en C (un membre du binome le fait pour iniitalisé votre dépot), et realisent un premier commit suivi d'un push vers Gitea:
```
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;
}
```