Commit c35aa762 authored by Stephane Bonnet's avatar Stephane Bonnet

Merge branch 'plan' into 'master'

Plan de la présentation

See merge request !1
parents d71b8cb9 11b80189
Pipeline #32113 passed with stage
in 19 seconds
......@@ -15,4 +15,8 @@ La présentation au format PDF est disponible [ici](https://gitlab.utc.fr/picaso
## Contribuer !
Créez une branche, et faites une merge request ! Faites la relire par un tiers qui la valide et la merge.
N'oubliez pas d'ajouter votre nom dans la license et dans les auteurs de `main.tex`
\ No newline at end of file
N'oubliez pas d'ajouter votre nom dans la license et dans les auteurs de `main.tex`
## Plan
Le plan est disponible [ici](docs/plan.md)
\ No newline at end of file
# Plan de la présentation
## À propos
La formation sur git durera une journée (~6/7 heures). Elle abordera à la fois l'utilisation de Git (local et remotes) mais aussi les méthodes de gestion de travail propres à GitLab.
**Comment lire ce plan ?**
Les sections sont numérotés en niveau 1. Les sous-sections en niveau 2. Une indentation sous la section/sous section est un titre, deux un sous-titre. Un niveau sans "fils" est une frame.
## Plan
1. Introduction
* Qu'est ce que git ?
* Pourquoi la gestion de version ?
* Différents logiciels de gestion de version
* Petite histoire de Git
*(transition ?)*
2. Versionner son travail
1. Configuration et initialisation
* Création d'un dépôt Git
* Configuration locale / configuration globale
2. Gestion théorique
* Working Directory vs. Staging Area vs. Repository
* Explications
* Schéma
* Fonctionnement de Git
3. Gestion linéaire en pratique
* Créer des versions
* Working directory <-> staging area
* Staging area <-> repository
* Dissection d'un commit
* Visualiser les différences
* Git log
* Git diff
* Git show
3. Utiliser les versions
1. Le HEAD
* Qu'est-ce que le HEAD ?
2. Marquer une version
* Git tag
3. Mettre de côté ses modifications
* Enregistrer les modifications locales
* Restaurer les modifications locales
4. Parcourir l'historique
* Changer de version
* Revenir au dernier commmit
* Annuler des changements
5. Annuler des commits
* Sans modification d'historique
* Avec modification d'historique
* Git reset
* Git commit --amend
4. Utilisation des remotes
1. Présentation
* Le concept des remotes
* Exemples de remotes
* Création d'un dépôt distant
2. Récupérer du travail existant
* Cloner un dépôt existant
* Tirer des changements
3. Envoyer son travail
* Pousser des commits
5. Gestion non linéaire
1. Explications théoriques
* Principe de gestion non linéaire
* Création d'une divergence
* Comment créer une divergence
* Explications
* Illustrations / Exemple
* Fusion
2. Application à Git
* Gestion des branches
* Changer de branche
* Visualisation
3. Fusionner des branches
* Le merge
* Le rebase
* Avertissement
* Comparaison avec le merge
* Application simple
* Rebase interactif
* Le cherry-pick
6. Résolution de conflits
1. Les conflits
* Qu'est-ce qu'un conflit ?
* Exemple de situation conflictuelle
* Comment se présente un conflit ?
* Concrètement, quand peut-on avoir un conflit ?
* Merge
* Rebase
* Pull
2. Résoudre un conflit
* En théorie
* Application
3. Historiques divergents
* Quand parle-t-on de divergence ?
* Comment diverge-t-on ?
* Résoudre des divergences ?
7. Travail collaboratif avec Git et GitLab
1. Présentation de git flow
2. Présentation de GitLab
\documentclass[usepdftitle=false]{beamer}
\usepackage[frenchb]{babel}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
......@@ -60,8 +60,30 @@ pdfproducer={Latex},
\titlepage
\end{frame}
\section{Introduction}
\begin{frame}
\frametitle{Table des matières}
\tableofcontents[hidesubsections]
\end{frame}
\section{Introduction}
\input{./src/tex/introduction.tex}
\section{Versionner son travail}
\input{./src/tex/versionner_travail.tex}
\section{Utiliser les versions}
\input{./src/tex/utiliser_versions.tex}
\section{Utilisation des remotes}
\input{./src/tex/utilisation_remotes.tex}
\section{Gestion non linéaire}
\input{./src/tex/gestion_non_lineaire.tex}
\section{Résolution des conflits}
\input{./src/tex/resolution_conflits.tex}
\section{Travail collaboratif avec Git et GitLab}
\input{./src/tex/tavail_collaboratif.tex}
\end{document}
\subsection{Explications théoriques}
\input{src/tex/gestion_non_lineaire/explications_theoriques.tex}
\subsection{Application à Git}
\input{src/tex/gestion_non_lineaire/application_git.tex}
\subsection{Fusionner des branches}
\input{src/tex/gestion_non_lineaire/fusionner_branches.tex}
\begin{frame}
\frametitle{Gestion des branches}
\end{frame}
\begin{frame}
\frametitle{Changer de branche}
\end{frame}
\begin{frame}
\frametitle{Visualisation}
\end{frame}
\begin{frame}
\frametitle{Principe de la gestion non linéaire}
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Comment créer une divergence}
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Explications}
\end{frame}
\begin{frame}
\frametitle{Création d'une divergence}
\framesubtitle{Illustrations / exemple}
\end{frame}
\begin{frame}
\frametitle{Fusion !}
\end{frame}
\begin{frame}
\frametitle{Le merge}
\end{frame}
\begin{frame}
\frametitle{Le rebase}
\framesubtitle{Avertissement}
\end{frame}
\begin{frame}
\frametitle{Le rebase}
\framesubtitle{Comparaison avec le merge}
\end{frame}
\begin{frame}
\frametitle{Le rebase}
\framesubtitle{Application simple}
\end{frame}
\begin{frame}
\frametitle{Le rebase}
\framesubtitle{Rebase interactif}
\end{frame}
\begin{frame}
\frametitle{Le cherry-pick}
\end{frame}
\subsection{Les conflits}
\input{src/tex/resolution_conflits/les_conflits.tex}
\subsection{Résoudre un conflit}
\input{src/tex/resolution_conflits/resoudre_conflit.tex}
\subsection{Historiques divergents}
\input{src/tex/resolution_conflits/historiques_divergents.tex}
\begin{frame}
\frametitle{Quand parler de divergence ?}
\end{frame}
\begin{frame}
\frametitle{Comment diverger ?}
\end{frame}
\begin{frame}
\frametitle{Résoudre des divergences ?}
\end{frame}
\begin{frame}
\frametitle{Qu'est-ce qu'un conflit ?}
\end{frame}
\begin{frame}
\frametitle{Exemple de situation conflictuelle}
\end{frame}
\begin{frame}
\frametitle{Comment se présente un conflit ?}
\end{frame}
\begin{frame}
\frametitle{Quand peut-on avoir un conflit ?}
\framesubtitle{Merge}
\end{frame}
\begin{frame}
\frametitle{Quand peut-on avoir un conflit ?}
\framesubtitle{Rebase}
\end{frame}
\begin{frame}
\frametitle{Quand peut-on avoir un conflit ?}
\framesubtitle{Pull}
\end{frame}
\begin{frame}
\frametitle{En théorie}
\end{frame}
\begin{frame}
\frametitle{Application}
\end{frame}
\subsection{Présentation}
\input{./src/tex/utilisation_remotes/presentation.tex}
\subsection{Récupérer du travail existant}
\input{./src/tex/utilisation_remotes/recuperer_travail.tex}
\subsection{Envoyer son travail}
\input{./src/tex/utilisation_remotes/envoyer_travail.tex}
\begin{frame}
\frametitle{Pousser des commits}
\end{frame}
\begin{frame}
\frametitle{Le concept des remotes}
\end{frame}
\begin{frame}
\frametitle{Exemples de remotes}
\end{frame}
\begin{frame}
\frametitle{Création d'un dépôt distant}
\end{frame}
\begin{frame}
\frametitle{Cloner un dépôt distant}
\end{frame}
\begin{frame}
\frametitle{Tirer des changments}
\end{frame}
\subsection{Le HEAD}
\input{src/tex/utiliser_versions/head.tex}
\subsection{Marquer une version}
\input{./src/tex/utiliser_versions/marquer_version.tex}
\subsection{Mettre de côté ses modifications}
\input{./src/tex/utiliser_versions/mettre_de_cote.tex}
\subsection{Parcourir l'historique}
\input{./src/tex/utiliser_versions/parcourir_historique.tex}
\subsection{Annuler des commits}
\input{./src/tex/utiliser_versions/annuler_commits.tex}
\begin{frame}
\frametitle{Sans modification d'historique}
\end{frame}
\begin{frame}
\frametitle{Avec modification d'historique}
\framesubtitle{Git reset}
\end{frame}
\begin{frame}
\frametitle{Avec modification d'historique}
\framesubtitle{Git commit --amend}
\end{frame}
\begin{frame}
\frametitle{Qu'est-ce que le HEAD?}
\end{frame}
\begin{frame}
\frametitle{Git tag}
\end{frame}
\begin{frame}
\frametitle{Enregistrer les modifications locales}
\end{frame}
\begin{frame}
\frametitle{Restaurer les modifications locales}
\end{frame}
\begin{frame}
\frametitle{Changer de version}
\end{frame}
\begin{frame}
\frametitle{Revenir au dernier commit}
\end{frame}
\begin{frame}
\frametitle{Annuler des changements}
\end{frame}
\subsection{Configuration et initialisation}
\input{./src/tex/versionner_travail/configuration_initialisation.tex}
\subsection{Gestion théorique}
\input{./src/tex/versionner_travail/gestion_theorique.tex}
\subsection{Gestion linéaire en pratique}
\input{./src/tex/versionner_travail/gestion_lineaire_pratique.tex}
\begin{frame}
\frametitle{Création d'un dépôt git}
\end{frame}
\begin{frame}
\frametitle{Configuration locale / configuration globale}
\end{frame}
\begin{frame}
\frametitle{Créer des versions}
\framesubtitle{Working Directory <-> Staging Area}
\end{frame}
\begin{frame}
\frametitle{Créer des versions}
\framesubtitle{Staging Area <-> Repository}
\end{frame}
\begin{frame}
\frametitle{Dissection d'un commit}
\end{frame}
\begin{frame}
\frametitle{Visualiser des différences}
\framesubtitle{Git log}
\end{frame}
\begin{frame}
\frametitle{Visualiser des différences}
\framesubtitle{Git diff}
\end{frame}
\begin{frame}
\frametitle{Visualiser des différences}
\framesubtitle{Git show}
\end{frame}
\begin{frame}
\frametitle{Working Directory vs. Staging area vs. Repository}
\framesubtitle{Explications}
\end{frame}
\begin{frame}
\frametitle{Working Directory vs. Staging area vs. Repository}
\framesubtitle{Schéma}
\end{frame}
\begin{frame}
\frametitle{Fonctionnement de Git}
\end{frame}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment