annuler_commits.tex 7.01 KB
Newer Older
1
\begin{frame}[fragile]
Rémy Huet's avatar
Rémy Huet committed
2
	\frametitle{Sans modification d'historique}
3
4
5
6
7
8
9
10
11
12
13
14
15

	\begin{block}{}
		\enquote{
			Dis, je me suis planté sur un commit, j'aimerais bien l'annuler \ldots
			C'est possible ? \\
			Oui ! Utilises git revert !
		}
	\end{block}

	\verb+git revert+ permet d'annuler un commit, en en créant un commit qui fait les modifications inverses.

	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
Rémy Huet's avatar
Rémy Huet committed
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$ git revert HEAD \Pause
[master 6e23b65] Revert "Troisième commit"
 1 file changed, 1 deletion(-)
		\end{Verbatim}
	\end{beamercolorbox}
\end{frame}

\begin{frame}[fragile]
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
\textcolor{yellow}{commit 6e23b65243628f81924f650466c86ef3a8e42ec5 (}{\bf\textcolor{cyan}{HEAD -> }\textcolor{green}{master}}\textcolor{yellow}{)}
Author: huetremy <remy.huet@etu.utc.fr>
Date:   Fri Jan 11 14:20:59 2019 +0100

    Revert "Troisième commit"

    This reverts commit a04da653083b6b0ba3eea2bce98d903acfd0a4d3.

diff --git a/API.txt b/API.txt
index a03f78c..5596950 100644
--- a/API.txt
+++ b/API.txt
\textcolor{cyan}{@@ -1,3 +1,2 @@}
 Je suis le premier fichier utilisé pour cette API sur git
 J'ajoute une ligne à mon fichier
 \textcolor{red}{-Encore une ligne en plus !} \Pause

 $ git diff HEAD\~{}2
44
45
		\end{Verbatim}
	\end{beamercolorbox}
Rémy Huet's avatar
Rémy Huet committed
46
47
\end{frame}

48
\begin{frame}[fragile]
Rémy Huet's avatar
Rémy Huet committed
49
50
	\frametitle{Avec modification d'historique}
	\framesubtitle{Git reset}
51
52
53
54
55
56
57
58
59
60
61
62
63

	\begin{block}{À quoi ça sert ?}
		\begin{itemize}
			\item \verb+git reset+ permet de remettre le HEAD dans un état spécifique, et modifie l'arbre en conséquence (supprime tous les commits après)

			\item \verb+git reset --soft+ laisse le working directory dans l'état dans lequel il était

			\item \verb+git reset --hard+ remet le working directory dans l'état du commit sur lequel on reset.
		\end{itemize}
	\end{block}

	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
Rémy Huet's avatar
Rémy Huet committed
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
$ git reset --soft HEAD~1 \Pause

$ cat API.txt \Pause
Je suis le premier fichier utilisé pour cette API sur git
J'ajoute une ligne à mon fichier
		\end{Verbatim}
	\end{beamercolorbox}
\end{frame}

\begin{frame}[fragile]
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
$ git log --graph --decorate --all \Pause

* \textcolor{yellow}{commit a04da653083b6b0ba3eea2bce98d903acfd0a4d3 (}{\bf\textcolor{cyan}{HEAD -> }\textcolor{green}{master}}\textcolor{yellow}{)}
\textcolor{red}{|} Author: huetremy <remy.huet@etu.utc.fr>
\textcolor{red}{|} Date:   Fri Jan 11 10:16:10 2019 +0100
\textcolor{red}{|}
\textcolor{red}{|}     Troisième commit
\textcolor{red}{|}
* \textcolor{yellow}{commit 5b63bd1f9afe4685b60074030960e39bb5152e67}
\textcolor{red}{|} Author: Thibaud Duhautbout <thibaud@duhautbout.ovh>
\textcolor{red}{|} Date:   Thu Jan 3 15:55:33 2019 +0100
\textcolor{red}{|}
\textcolor{red}{|}     Second commit
\textcolor{red}{|}
* \textcolor{yellow}{commit 712951dbb3ee0cc4d248582dc5408da3afdec853 (tag: mon_tag)}
  Author: Thibaud Duhautbout <thibaud@duhautbout.ovh>
  Date:   Thu Jan 3 15:37:54 2019 +0100

      Ajout du premier fichier
		\end{Verbatim}
	\end{beamercolorbox}
	On voit bien grâce qux deux commandes précédentes que le commit a été supprimé mais que les modifications ont été gardées\ldots
	Maintenant :
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
$ git commit -am ''Commit de revert'' \Pause
[master eae33f2] Commit de revert
 1 file changed, 1 deletion(-)
104
105
		\end{Verbatim}
	\end{beamercolorbox}
Rémy Huet's avatar
Rémy Huet committed
106
\end{frame}
107

Rémy Huet's avatar
Rémy Huet committed
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
\begin{frame}[fragile]
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
$ git reset --hard HEAD~1 \Pause
HEAD est maintenant à a04da65 Troisième commit \Pause

$ cat API.txt \Pause
Je suis le premier fichier utilisé pour cette API sur git
J'ajoute une ligne à mon fichier
Encore une ligne en plus ! \Pause

$ git log --graph --decorate --all \Pause
* \textcolor{yellow}{commit a04da653083b6b0ba3eea2bce98d903acfd0a4d3 (}{\bf\textcolor{cyan}{HEAD -> }\textcolor{green}{master}}\textcolor{yellow}{)}
\textcolor{red}{|} Author: huetremy <remy.huet@etu.utc.fr>
\textcolor{red}{|} Date:   Fri Jan 11 10:16:10 2019 +0100
\textcolor{red}{|}
\textcolor{red}{|}     Troisième commit
\textcolor{red}{|}
* \textcolor{yellow}{commit 5b63bd1f9afe4685b60074030960e39bb5152e67}
\textcolor{red}{|} Author: Thibaud Duhautbout <thibaud@duhautbout.ovh>
\textcolor{red}{|} Date:   Thu Jan 3 15:55:33 2019 +0100
\textcolor{red}{|}
\textcolor{red}{|}     Second commit
\textcolor{red}{|}
* \textcolor{yellow}{commit 712951dbb3ee0cc4d248582dc5408da3afdec853 (tag: mon_tag)}
  Author: Thibaud Duhautbout <thibaud@duhautbout.ovh>
  Date:   Thu Jan 3 15:37:54 2019 +0100

      Ajout du premier fichier
		\end{Verbatim}
	\end{beamercolorbox}
	Le commit a bien été effacé, mais cette fois les modifications n'ont pas été gardées
Rémy Huet's avatar
Rémy Huet committed
140
141
\end{frame}

142
\begin{frame}[fragile]
Rémy Huet's avatar
Rémy Huet committed
143
144
	\frametitle{Avec modification d'historique}
	\framesubtitle{Git commit --amend}
145
146
147
148
149
150
151
152
153
154
155
156

	\begin{block}{}
		\enquote{
			Dis, j'aimerais faire une toute petite modification sur un commit, c'est possible ? \\
			-- Oui ! Utilises git commit \--\--ammend
		}
	\end{block}

	\verb+git commit --ammend+ permet de modifier un commit (tant son message que son contenu, son auteur \ldots)

	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
Rémy Huet's avatar
Rémy Huet committed
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
$ echo "Je suis l'apiinit" >> API.txt && git commit -am "Commit supplémentaire" \Pause

$ sed -i "s|apiinit|Api/casoft init|" API.txt \Pause

$ git commit -a --amend \Pause
[master 168efba] Commit supplémentaire
 Date: Fri Jan 11 14:53:09 2019 +0100
 1 file changed, 1 insertion(+)
		\end{Verbatim}
	\end{beamercolorbox}
\end{frame}

\begin{frame}[fragile]
	\begin{beamercolorbox}[rounded=true, shadow=true]{terminal}
		\begin{Verbatim}
$ git log --graph --decorate \Pause

* \textcolor{yellow}{commit 168efba77dcfd59ba4346fe4a34427b71db75da7 (}{\bf\textcolor{cyan}{HEAD -> }\textcolor{green}{master}}\textcolor{yellow}{)}
\textcolor{red}{|} Author: huetremy <remy.huet@etu.utc.fr>
\textcolor{red}{|} Date:   Fri Jan 11 14:53:09 2019 +0100
\textcolor{red}{|}
\textcolor{red}{|}     Commit supplémentaire
\textcolor{red}{|}
* \textcolor{yellow}{commit a04da653083b6b0ba3eea2bce98d903acfd0a4d3}
\textcolor{red}{|} Author: huetremy <remy.huet@etu.utc.fr>
\textcolor{red}{|} Date:   Fri Jan 11 10:16:10 2019 +0100
\textcolor{red}{|}
\textcolor{red}{|}     Troisième commit
\textcolor{red}{|}
[\ldots] \Pause

$ git show HEAD \Pause
\textcolor{yellow}{commit 168efba77dcfd59ba4346fe4a34427b71db75da7 (}{\bf\textcolor{cyan}{HEAD -> }\textcolor{green}{master}}\textcolor{yellow}{)}
Author: huetremy <remy.huet@etu.utc.fr>
Date:   Fri Jan 11 14:53:09 2019 +0100

    Commit supplémentaire

{\bf{}diff --git a/API.txt b/API.txt}
{\bf{}index a03f78c..4af702a 100644}
{\bf{}--- a/API.txt}
{\bf{}+++ b/API.txt}
\textcolor{cyan}{@@ -1,3 +1,4 @@}
 Je suis le premier fichier utilisé pour cette API sur git
 J'ajoute une ligne à mon fichier
 Encore une ligne en plus !
 \textcolor{myGreen}{+Je suis l'Api/casoft init}
204
205
		\end{Verbatim}
	\end{beamercolorbox}
Rémy Huet's avatar
Rémy Huet committed
206
\end{frame}