resoudre_conflit.tex 1.88 KB
Newer Older
1
\begin{frame}[fragile]
Remy Huet's avatar
Remy Huet committed
2
	\frametitle{En théorie}
3 4 5 6 7 8 9
	\begin{itemize}
		\item Git fait de la gestion de versions \enquote{stupidement}.
			Il ne comprend pas votre code / votre texte, et ne sait donc pas quoi garder en cas de conflit.
		\item Résoudre un conflit c'est dire à Git quelle est la bonne verion à garder.
		\item Il peut s'agit d'une des deux versions uniquement, ou d'un mélange des deux.
		\item Concrètement cela consite à réécrire les zones délimitées par \verb+<<<<<<<<<<+ et \verb+>>>>>>>>>>+.
	\end{itemize}
Remy Huet's avatar
Remy Huet committed
10 11
\end{frame}

Remy Huet's avatar
Remy Huet committed
12
\begin{frame}[fragile]
Remy Huet's avatar
Remy Huet committed
13
	\frametitle{Application}
Remy Huet's avatar
Remy Huet committed
14 15
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
Remy Huet's avatar
Remy Huet committed
16 17 18
$ echo "Toto" >> dev.txt && git commit -am "Toto" \Pause
[master 4d47790] Toto
 1 file changed, 1 insertion(+)
Remy Huet's avatar
Remy Huet committed
19

Remy Huet's avatar
Remy Huet committed
20 21 22 23
$ git checkout develop && echo "Titi" >> dev.txt && git commit -am "Titi" \Pause
Switched to branch 'develop'
[develop f32aba6] Titi
 1 file changed, 1 insertion(+)
Remy Huet's avatar
Remy Huet committed
24

Remy Huet's avatar
Remy Huet committed
25 26 27 28 29
$ git checkout master && git merge develop \Pause
Switched to branch 'master'
Auto-merging dev.txt
CONFLICT (content): Merge conflict in dev.txt
Automatic merge failed; fix conflicts and then commit the result.
Remy Huet's avatar
Remy Huet committed
30 31 32 33

$ cat dev.txt \Pause
Ma première ligne
<<<<<<< HEAD
Remy Huet's avatar
Remy Huet committed
34
Toto
Remy Huet's avatar
Remy Huet committed
35
=======
Remy Huet's avatar
Remy Huet committed
36
Titi
Remy Huet's avatar
Remy Huet committed
37 38 39 40 41 42 43 44
>>>>>>> develop
		\end{Verbatim}
	\end{beamercolorbox}
\end{frame}

\begin{frame}[fragile]{Application}
	\begin{block}{}
		Pour résoudre le conflit, on va dire à git quelle version du fichier garder.
Remy Huet's avatar
Remy Huet committed
45
		Ici, on mettra arbitrairement \enquote{Début de nouvelle fonctionnalité}
Remy Huet's avatar
Remy Huet committed
46 47 48 49 50
	\end{block}
	On modifie le fichier dev.txt :
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
Ma première ligne
Remy Huet's avatar
Remy Huet committed
51
Début de nouvelle fonctionnalité
Remy Huet's avatar
Remy Huet committed
52 53 54 55 56 57 58 59 60
		\end{Verbatim}
	\end{beamercolorbox}
	Puis on finit le merge:
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
$ git add dev.txt
$ git commit
		\end{Verbatim}
	\end{beamercolorbox}
Remy Huet's avatar
Remy Huet committed
61
\end{frame}