|
| 1 | +\section{GitHub Flow}\label{sec:github-flow} |
| 2 | +\begin{frame}[c] |
| 3 | + \centering |
| 4 | + \Large |
| 5 | + \textbf{GitHub Flow} |
| 6 | +\end{frame} |
| 7 | + |
| 8 | +\subsection{Der Workflow}\label{subsec:der-workflow} |
| 9 | +\begin{frame}[c] |
| 10 | + \slidehead |
| 11 | + \centering |
| 12 | + \large |
| 13 | + \textbf{GitHub Flow} |
| 14 | + \vspace{1em} |
| 15 | + \begin{enumerate}[<+->] |
| 16 | + \item \textbf{Feature Branch von Master abbranchen} |
| 17 | + \item \textbf{Feature implementieren} |
| 18 | + \item \textbf{Pull Request erstellen} |
| 19 | + \item \textbf{Pull Request reviewen} |
| 20 | + \item \textbf{Pull Request mergen} |
| 21 | + \item \textbf{Feature Branch löschen} |
| 22 | + \end{enumerate} |
| 23 | +\end{frame} |
| 24 | + |
| 25 | +\begin{frame}[c] |
| 26 | + \centering |
| 27 | + \Large |
| 28 | + \textbf{Live Demo} |
| 29 | +\end{frame} |
| 30 | + |
| 31 | +\subsection{Normaler Merge vs Squash Merge}\label{subsec:normaler-merge-vs-squash-merge} |
| 32 | +\begin{frame}[c] |
| 33 | + \slidehead |
| 34 | + \centering |
| 35 | + \begin{tikzpicture} |
| 36 | + \node[tiny-commit] at (0, 0)(a){}; |
| 37 | + \node[tiny-commit] at (2, 0) (b){}; |
| 38 | + \node[tiny-commit] at (4, 0) (c){}; |
| 39 | + \node<4->[tiny-commit] at (6, 0) (d){}; |
| 40 | + \node<5>[tiny-merge-commit, fill=TUDa-8a!50!TUDa-1c] at (10, 0) (f){}; |
| 41 | + \node<6>[tiny-commit, fill=TUDa-8a!50] at (10, 0) (f){}; |
| 42 | + \node<2->[tiny-commit, fill=TUDa-8a] at (6, -1) (feature/a/1){}; |
| 43 | + \node<3->[tiny-commit, fill=TUDa-8a] at (8, -1) (feature/a/2){}; |
| 44 | + \node[branch] at (13, 0) (master){master}; |
| 45 | + \node<2->[branch] at (13, -1) (feature/a){feature/a}; |
| 46 | + \draw[parent] (b) to (a); |
| 47 | + \draw[parent] (c) to (b); |
| 48 | + \draw<4->[parent] (d) to (c); |
| 49 | + \draw<2->[parent] (feature/a/1) to (c); |
| 50 | + \draw<3->[parent] (feature/a/2) to (feature/a/1); |
| 51 | + \draw<5->[parent] (f) to (d); |
| 52 | + \draw<5>[parent] (f) to (feature/a/2); |
| 53 | + \draw<1-3>[ref-arc] (master) to (c); |
| 54 | + \draw<4>[ref-arc] (master) to (d); |
| 55 | + \draw<5->[ref-arc] (master) to (f); |
| 56 | + \draw<2>[ref-arc] (feature/a) to (feature/a/1); |
| 57 | + \draw<3->[ref-arc] (feature/a) to (feature/a/2); |
| 58 | + \end{tikzpicture} |
| 59 | + |
| 60 | + \vspace*{\fill} |
| 61 | + |
| 62 | + \begin{onlyenv}<2> |
| 63 | + \bashcommandbob{git checkout -b feature/a \&\& git commit} |
| 64 | + \end{onlyenv} |
| 65 | + \begin{onlyenv}<3> |
| 66 | + \bashcommandbob{git commit} |
| 67 | + \end{onlyenv} |
| 68 | + \begin{onlyenv}<5> |
| 69 | + \bashcommandbob{git checkout master \&\& git merge feature/a} |
| 70 | + \end{onlyenv} |
| 71 | + \begin{onlyenv}<6> |
| 72 | + \bashcommandbob{git checkout master \&\& git merge \textminus\textminus squash feature/a} |
| 73 | + \end{onlyenv} |
| 74 | +\end{frame} |
| 75 | + |
| 76 | +\subsection{Final Review}\label{subsec:final-review} |
| 77 | +\begin{frame}[c] |
| 78 | + \slidehead |
| 79 | + \centering |
| 80 | + \Large |
| 81 | + \textbf{Final Review} |
| 82 | +\end{frame} |
| 83 | + |
| 84 | +\begin{frame}[c] |
| 85 | + \slidehead |
| 86 | + \large |
| 87 | + \textbf{Bewertungskriterien} |
| 88 | + \normalsize |
| 89 | + \begin{enumerate} |
| 90 | + \item<2-> Wie skaliert der Workflow? \only<3->{\hfill\textbf{slight improvement}} |
| 91 | + \item<4-> Können Bugs/Fehler einfach in den Master-Branch gelangen? \only<5->{\hfill\textbf{slight improvement}} |
| 92 | + \item<6-> Kann man Fehler einfach rückgängig machen? \only<7->{\hfill\textbf{geht}} |
| 93 | + \item<8-> Erzeugt dieser Workflow eine neue unnötige, kognitive Überlastung für das Team? \only<9->{\hfill\textbf{it depends}} |
| 94 | + \end{enumerate} |
| 95 | +\end{frame} |
0 commit comments