Commit cacf24b1 authored by Sven Greiner's avatar Sven Greiner
Browse files

Ein paar weitere Seiten und Bilder

parent ec8f7203
......@@ -22,6 +22,10 @@
\usepackage{tikz}
\usetikzlibrary{arrows,automata,calc,chains,trees,positioning,scopes,decorations.pathmorphing,decorations.pathreplacing,shapes,backgrounds,tikzmark,fadings,fit}
\usepackage[absolute,overlay,quiet]{textpos}
\setlength{\TPHorizModule}{1mm}
\setlength{\TPVertModule}{1mm}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}
......@@ -105,7 +109,6 @@
%--- helpers -------------------------------------------------------------------
\newcommand{\lstinline}[1]{{\ttfamily #1\xspace}}
\newcommand{\homepath}{\raise.17ex\hbox{$\scriptstyle\mathtt{\sim}$}}
\newcommand{\MM}{\--\--}
%--- git branch tikz -----------------------------------------------------------
......@@ -157,6 +160,9 @@
\item Mit mehreren Leuten zusammenarbeiten
\end{itemize}
\end{itemize}
\begin{textblock}{65}(95,10)
\includegraphics[width=\linewidth]{git-branching}
\end{textblock}
\end{frame}
\begin{frame}{Was ihr hier lernt \ldots}
......@@ -167,7 +173,7 @@
\pause
Für den Rest gibt es Google.
Für den Rest gibt es \raisebox{-.26\height}{\includegraphics[height=2.1ex]{google-logo}}.
\end{center}
\end{frame}
......@@ -182,8 +188,8 @@
\bigskip
\lstinline{git config --global user.name "Dein Name"} \\
\lstinline{git config --global user.email foobar@example.com}
\lstinline{\$ git config --global user.name "Dein Name"} \\
\lstinline{\$ git config --global user.email foobar@example.com}
\bigskip
......@@ -201,7 +207,7 @@
\item Konsole öffnen
\item Verzeichnis betreten
\item \lstinline{\$ git init}
\item Fertig (es wurde ein Verzeichnis \lstinline{.git} angelegt)
\item Fertig
\end{enumerate}
\end{frame}
......@@ -221,18 +227,11 @@
\bigskip
\begin{center}
\only<1>{%
\begin{tikzpicture}[y=-1cm]
\path[use as bounding box] (-0.5,-0.7) rectangle (4.5,0.5);
\draw[gitlog] (0,0) \githead{A};
\end{tikzpicture}%
}%
\only<2>{%
\begin{tikzpicture}[y=-1cm]
\path[use as bounding box] (-0.5,-0.7) rectangle (4.5,0.5);
\draw[gitlog] (0,0) \gitcommit{A} \gitskip \gitskip \gitcommit{B} \gitskip \gitskip \githead{C};
\end{tikzpicture}
}%
\begin{tikzpicture}[y=-1cm]
\path[use as bounding box] (-0.5,-0.7) rectangle (4.5,0.5);
\draw<1>[gitlog] (0,0) \githead{A};
\draw<2>[gitlog] (0,0) \gitcommit{A} \gitskip \gitskip \gitcommit{B} \gitskip \gitskip \githead{C};
\end{tikzpicture}
\end{center}
\end{frame}
......@@ -258,7 +257,7 @@
\item Änderungen am Index (\lstinline{git add}) rückgängig machen:
\medskip\lstinline{\$ git reset [\--\-- file]}
\medskip\lstinline{\$ git reset [--file]}
\bigskip
......@@ -273,14 +272,57 @@
\end{itemize}
\end{frame}
\begin{frame}{Vergangenes ist nicht vergessen: Log}
\begin{center}
\lstinline{\$ git log}
\begin{frame}{Was war, was ist und was sein wird}
\begin{columns}
\column{.5\textwidth}
\bigskip
\begin{block}{Was geändert wurde}
\bigskip
\begin{itemize}
\item Zwischen Workspace und Index
\lstinline{\$ git log \--\--graph \--\--oneline}
\end{center}
\medskip\quad\lstinline{\$ git diff}
\bigskip
\item Zwischen zwei Commits
\medskip\quad\lstinline{\$ git diff A..B}
\bigskip
\item In einem Commit
\medskip\quad\lstinline{\$ git show A}
\end{itemize}
\medskip
\end{block}
\column{.5\textwidth}
\begin{block}{History}
\bigskip
\begin{itemize}
\item Mit viel Text
\medskip\quad\lstinline{\$ git log}
\bigskip
\item "`Grafisch"'
\medskip\lstinline{\$ git log --graph --oneline}
\end{itemize}
\medskip
\end{block}
\begin{block}{Aktueller Status}
\smallskip\centering
\lstinline{\$ git status}
\smallskip
\end{block}
\end{columns}
\end{frame}
\begin{frame}<-5>[label=branchmerge]
......@@ -289,7 +331,7 @@
\begin{center}
\begin{minipage}{.6\linewidth}
\uncover<2->{\lstinline{\$ git checkout \MM branch <NAME>}}
\uncover<2->{\lstinline{\$ git checkout --branch <NAME>}}
\uncover<3->{\lstinline{\$ git commit -a}}
......@@ -330,6 +372,9 @@
\againframe<6>{branchmerge}
\begin{frame}{Mergekonflikte}
\end{frame}
\begin{frame}{Verteiltes Arbeiten: Remotes}
\begin{itemize}
\item Git ist dezentral -- kann aber zentral genutzt werden
......@@ -425,15 +470,19 @@
\begin{frame}{Pull im Detail}
\end{frame}
\begin{frame}
\includegraphics[width=\linewidth, trim=5mm 25mm 5mm 33mm, clip]{git-transport-v1}
\end{frame}
\begin{frame}{Schönere History: Rebase}
\begin{itemize}
\item<2-> Commit in Master
\item<3-> Merge würde einen Merge-Commit erzeugen
\item<4-> \lstinline{\$ git rebase master}
\item<4-> Stattdessen:\quad \only<5->{\lstinline{\$ git rebase master}}
\item<5-> \lstinline{\$ git checkout master \&\& git merge <NAME>}
\item<6-> \lstinline{\$ git checkout master \&\& git merge <NAME>}
\medskip
$\quad\implies$ Fast-Forward
......@@ -449,7 +498,7 @@
\draw[gitbranch] (1,0) \gitbranch \githead{C};
\draw[gitlog] (0,0) \gitcommit{A} \gitskip \gitcommit{B};
}
\only<2>{
\only<2,4>{
\draw[gitbranch] (1,0) \gitbranch \githead{C};
\draw[gitlog] (0,0) \gitcommit{A} \gitskip \gitcommit{B} \gitskip \gitskip \gitcommit{D};
}
......@@ -457,11 +506,11 @@
\draw[gitbranch] (1,0) \gitbranch \gitcommit{C} \gitmerge;
\draw[gitlog] (0,0) \gitcommit{A} \gitskip \gitcommit{B} \gitskip \gitskip \gitcommit{D} \gitskip \gitskip \githead{E};
}
\only<4>{
\only<5>{
\draw[gitbranch] (3,0) \gitbranch \githead{C};
\draw[gitlog] (0,0) \gitcommit{A} \gitskip \gitcommit{B} \gitskip \gitskip \gitcommit{D};
}
\only<5>{
\only<6>{
\draw[gitlog] (0,0) \gitcommit{A} \gitskip \gitcommit{B} \gitskip \gitskip \gitcommit{D} \gitskip \gitskip \githead{C};
}
\end{tikzpicture}
......@@ -498,12 +547,9 @@
\begin{frame}{Wenn's mal schief läuft: Amend}
\end{frame}
\begin{frame}{Rebase revisited: Interactive Rebase}
\end{frame}
\begin{frame}{(Do NOT) Use the \--\--force, Luke!}
\begin{center}
\lstinline{\$ git push \MM force}
\lstinline{\$ git push --force}
\end{center}
\bigskip
......@@ -518,7 +564,28 @@
\end{itemize}
\end{frame}
\begin{frame}{}
\begin{frame}{Und übrigens noch was \ldots}
\begin{itemize}
\item Git kann mehr!
\bigskip
\item Manches ganz hilfreich:
\medskip
\begin{itemize}
\item bisect
\item blame
\item interactive rebase
\item stash
\item submodules
\end{itemize}
\bigskip
\item Anderes braucht man nur selten
\end{itemize}
\end{frame}
\begin{frame}{Hilfreiche Seiten}
......@@ -528,6 +595,10 @@
\bigskip
\item Git Book: \url{https://git-scm.com/book/}
\bigskip
\item Suchmaschinen!
\end{itemize}
\end{frame}
......
Supports Markdown
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