presentation.tex 4.63 KB
Newer Older
1
\documentclass[usepdftitle=false]{beamer}
Rémy Huet's avatar
Rémy Huet committed
2
3
4
5
6
7
8
9
10

\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{datetime}
\usepackage{eurosym}
\usepackage[]{url}
\usepackage[babel=true]{csquotes}
Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
11
\usepackage{listings}
12
13
14
15
16
17
18
\hypersetup{
pdfauthor={Thibaud Duhautbout - Rémy Huet},
pdftitle={Formation Picaosft : La gestion de version avec Git},
pdfsubject={Formation niveau 1 : les bases},
pdfkeywords={git, gestion de version, VCS},
pdfproducer={Latex},
}
Rémy Huet's avatar
Rémy Huet committed
19

Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
20
21
22
\beamertemplatenavigationsymbolsempty
\setbeamercolor{orangebox}{bg=orange,fg=black}

Rémy Huet's avatar
Rémy Huet committed
23
24
25
\newdateformat{nombres}{\THEDAY-\THEMONTH-\THEYEAR}

\title[Formation Git\_v1]{\today \\ Formation Picasoft : La gestion de version avec Git (niveau 1)}
Rémy Huet's avatar
Rémy Huet committed
26
\titlegraphic{\includegraphics[scale=.1]{picasoft_logo.png}}
Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
27
\author[T. Duhautbout - R. Huet]{Thibaud {\sc Duhautbout} \\ Rémy {\sc Huet}}
Rémy Huet's avatar
Rémy Huet committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
\institute[Picasoft]{Association Picasoft}
\date\today

\usetheme{AnnArbor}
\usecolortheme{crane}

\AtBeginSection[]
{
	\begin{frame}
		\tableofcontents[currentsection, hideothersubsections]
	\end{frame}
}

\begin{document}

\begin{frame}
	\titlepage 
\end{frame}

47
48
49
\section{Introduction}

\begin{frame}{Pourquoi la gestion de version ?}
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Pour tout le monde :
\begin{itemize}
\item sauvegarde incrémentale du travail
\item suivi des modifications et retour en arrière
\item partage des modifications avec d'autres personnes
\end{itemize}

\medskip

Pour les développeurs :
\begin{itemize}
\item centralisation des sources
\item collaboration simplifiée
\item possibilité de maintenir plusieurs versions
\item ...
\end{itemize}
66
67
68
\end{frame}

\begin{frame}{Les différents logiciels de version}
69
70
71
72
73
74
75
76
77
78
79
80
81
82
\includegraphics[height=2cm]{./imgs/logo_git.png}
\hfill
\includegraphics[height=2cm]{./imgs/logo_svn.png}
\hfill
\includegraphics[height=2cm]{./imgs/logo_mercurial.png}

\bigskip

\centering
Et plein d'autres !

37 systèmes recensés sur Wikipedia

(\url{https://en.wikipedia.org/wiki/Comparison_of_version_control_software})
83
84
85
\end{frame}

\begin{frame}{Petite histoire de git\ldots}
Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
86
87
88
89
90
91
92
93
94
95
96
97

\begin{center}
\includegraphics[height=2cm]{./imgs/logo_git.png}
\end{center}

\begin{itemize}
\item Créé en 2005 par les développeurs du noyau Linux
\item Système de gestion de version distribué
\item Rapide
\item Possibilité de développements non-linéaires (branches)
\item Popularité grandissante chez les développeurs (GitHub, GitLab)
\end{itemize}
Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
98
99
100
101
102
103
104
105
106
107
108
109
110
\end{frame}

\begin{frame}
\begin{beamercolorbox}[sep=5pt,center,rounded=true,shadow=true]{orangebox}
\Large
\textsc{On passe à la partie pratique !}
\end{beamercolorbox}
\begin{center}
\includegraphics[height=3cm]{./imgs/warning.jpg}
\end{center}

\centering
Dans la suite, on considère que git est installé pour toutes les machines !
Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
111

Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
112
113
114
115
116
117
118
119
120
\medskip

\centering
En cas de problème, n'hésitez pas à demander de l'aide aux gentils animateurs munis d'une pancarte \enquote{HELP} :)

\begin{block}{}
\centering
On ouvre un terminal ou Git Bash !
\end{block}
121
122
123
124
125
126
\end{frame}

\section{Concepts de base}

\subsection{Configuration et initialisation}

Thibaud Duhautbout's avatar
Thibaud Duhautbout committed
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
\begin{frame}[fragile]{Configuration de git et du repo}

\begin{block}{Création d'un nouveau répertoire de travail}
\verb+$ mkdir formation_git+ \\
\verb+$ cd formation_git+
\end{block}

\begin{block}{Configuration de l'identité de l'utilisateur}
Permet d'identifier l'auteur des mises à jour \\
\verb+$ git config --global/local user.name "<prénom nom>"+ \\
\verb+$ git config --global/local user.email "<adresse email>"+ \\
\verb+global+ : configuration au niveau du système \\
\verb+local+ : configuration au niveau du répertoire courant 
\end{block}

\begin{block}{Initialisation du repo git}
\verb+$ git init+
\end{block}
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208

\end{frame}

\subsection{\'Etat du repo local}

\begin{frame}{git status}
\end{frame}

\subsection{Ajouter une version}

\begin{frame}{git add -- reset -- commit}
	Staging area etc
\end{frame}

\subsection{Voir l'historique}

\begin{frame}{git log}
\end{frame}

\begin{frame}{git diff}
\end{frame}

\section{Concepts avancés}

\subsection{Le HEAD}

\begin{frame}{Le HEAD}
\end{frame}

\subsection{Enregistrer les modifications locales}

\begin{frame}{git stash}
\end{frame}

\subsection{Changer de version}

\begin{frame}{git checkout}
\end{frame}

\subsection{Annuler les modifications sur un fichier précis}

\begin{frame}{git checkout -- file}
\end{frame}

\section{Les remotes}

\subsection{Principe et application avec Gitlab}

\begin{frame}{Gitlab}
	Création d'un repo
\end{frame}

\subsection{Récupérer les ajouts distants}

\begin{frame}{git clone -- git pull}
	cloner le repo de la présentation (en HTTPS)
\end{frame}

\subsection{Envoyer des modifications}

\begin{frame}{git push}
	Sur repo perso
\end{frame}

Rémy Huet's avatar
Rémy Huet committed
209
\end{document}