81 lines
2.5 KiB
Markdown
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;
|
|
}
|
|
```
|