add content Branches
authorTobias Rueetschi <tobisa.rueetschi@bfh.ch>
Thu, 27 Nov 2014 18:09:02 +0000 (19:09 +0100)
committerTobias Rueetschi <tobias.rueetschi@bfh.ch>
Thu, 27 Nov 2014 18:09:02 +0000 (19:09 +0100)
18 files changed:
SmartGitHg_Einleitung.tex
content/branches.tex [new file with mode: 0644]
pictures/branches_erstellen_1.png [new file with mode: 0644]
pictures/branches_erstellen_2.png [new file with mode: 0644]
pictures/branches_erstellen_3.png [new file with mode: 0644]
pictures/branches_erstellen_4.png [new file with mode: 0644]
pictures/branches_erstellen_5.png [new file with mode: 0644]
pictures/branches_erstellen_6.png [new file with mode: 0644]
pictures/branches_erstellen_7.png [new file with mode: 0644]
pictures/branches_erstellen_8.png [new file with mode: 0644]
pictures/erster_text_1.png [new file with mode: 0644]
pictures/erster_text_2.png [new file with mode: 0644]
pictures/feature_1.png [new file with mode: 0644]
pictures/feature_2.png [new file with mode: 0644]
pictures/feature_3.png [new file with mode: 0644]
pictures/feature_4.png [new file with mode: 0644]
pictures/feature_5.png [new file with mode: 0644]
pictures/feature_6.png [new file with mode: 0644]

index 0838723..0c4f115 100644 (file)
@@ -34,4 +34,7 @@
        \input{content/msysgit}
        \input{content/smartgithg}
        \input{content/start}
+
+       \chapter{Repository}
+       \input{content/branches}
 \end{document}
diff --git a/content/branches.tex b/content/branches.tex
new file mode 100644 (file)
index 0000000..b8c6b24
--- /dev/null
@@ -0,0 +1,117 @@
+% !TEX root = ../SmartGitHg_Einleitung.tex
+
+\section{Branches}
+\label{sec:branches}
+
+Es gibt schon sehr ausgekl\"ugelte Systeme, wie ein Repository aufgebaut sein sollte. In dieser Anleitung wird eine vereinfachte Version vom "`A successful Git branching model"' von nvie.com (http://nvie.com/posts/a-successful-git-branching-model/) gebraucht.
+
+Branches sind eigene Zweige, in welchen unabh\"angig entwickelt werden kann. Zu einem sp\"ateren Zeitpunkt k\"onnen diese dann wieder zusammengef\"uhrt werden und ergeben so ein grosses Gesammtes. In LaTeX k\"onnen zum Beispiel die einzelnen Kapitel in eigenen Branches (im Modell Features genannt) geschrieben werden und von Zeit zu Zeit werden diese dann in den Hauptbranch (im Modell develop) \"ubernommen. Wenn das Skript ver\"offentlicht wird, wird dann der develop Branch in den Branch f\"ur Ver\"offentlichung (im Modell master) gebracht.
+
+
+\subsection{Branches erstellen}
+
+Den ersten Branch wird erstellt, indem der erste Commit gemacht wird.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_1.png} \\
+       Eine Datei ausw\"ahlen und dann Commit klicken.
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_2.png} \\
+       Es folgt das Fenster, in welchem ein Repository interner Text eingegeben werden kann.
+\end{minipage}
+
+\includegraphics[width=\textwidth]{pictures/branches_erstellen_3.png} \\
+
+Oben links werden die Directories dargestellt. Dort erscheint nun der Name des aktuellen Branches (master). Unten links erscheint der neue Branch auch im Branches View.
+
+Nach dem "`Git branching model"' wird entweder im Branch develop oder in einem Feature entwickelt. Als n\"achstes folgt daher der Branch develop, dieser wird direkt vom aktuellen master abgeleitet. Dieser Prozess wird branching genannt.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_4.png} \\
+       Klick auf den Branch Button
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_5.png} \\
+       Der Branch, welcher gemacht werden soll ist develop, danach "`Add Branch \& Switch"'
+\end{minipage}
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_6.png} \\
+       Im Directory View sowie im Branches View ist nun gekennzeichnet, dass die Working Copy im Branch develop ist.
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_7.png} \\
+       Nun wird mit dem Button "`Git-Flow"' ins Branching Model gewechselt
+\end{minipage}
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/branches_erstellen_8.png} \\
+       Der Standard ist gut, also OK
+\end{minipage}
+
+Das Repository ist nun fertig aufgesetzt.
+
+
+\subsection{Erster Text}
+
+Nun kommt der eigentliche Inhalt ins Repository. Bei \LaTeX ist es zum Beispiel eine Idee, die einzelnen Kapitel in einzelnen Features zu schreiben. Der Vorteil von vielen Featuren ist es, dass wenn mehrere Leute an einem Repository arbeiten, nicht oft gemergt (zusammengef\"ugt) werden muss. Dies ist zeit- und nervenfressend. Der Nachteil ist hingegen, dass der \"Uberblick \"uber die einzelnen Features behalten werden muss. Es ist dabei wichtig, die optimale Mitte zu finden.
+
+Als erstes wird das leere Skript commited.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/erster_text_1.png} \\
+       Dateien um ins Repo aufzunehmen anw\"ahlen, danach Button Commit klicken
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/erster_text_2.png} \\
+       Eine Meldung f\"ur Git geben, was gemacht wurde
+\end{minipage}
+
+Als n\"achstes wird das Feature erstellt, in welchem \"uber die Installation geschrieben wird. Es ist eine gute Wahl, dies vom Branch develop zu branchen.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/feature_1.png} \\
+       Button Git-Flow klicken um ein neues Feature zu erstellen
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.5\textwidth]{pictures/feature_2.png} \\
+       Dem Feature einen aussagekr\"aftigen Namen geben
+\end{minipage}
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/feature_3.png} \\
+       Der Wechsel ins neue Feature erfolgt automatisch
+\end{minipage}
+
+Nun kann das Kapitel geschrieben werden, dabei sollten genug commits gemacht werden, damit auch eine Versionshistory vorhanden ist. Bei jedem Commit sollte darauf geachtet werden, es k\"onnte jemand genau diesen Commit auschecken und dann gebrauchen wollen. Also immer nur lauff\"ahiges commiten.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/feature_4.png}
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/feature_5.png}
+\end{minipage}
+
+Die Bilder werden zuerst commited, damit das Skript kompilierbar ist. Die Bilder werden hier vom Text getrennt, dass auch jemand genau diesen Commit \"ubernehmen kann (Cherry-Pick).
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/feature_6.png}
+\end{minipage}
+
+Noch den Text commiten. Dabei ist zu beachten, dass die Datei SmartGitHg\_Einleitung.tex schon vorhanden ist im Repository, daher wurde sie nur ver\"andert. Git intern wird dabei eine Differenz der zwei Dateien gespeichert.
diff --git a/pictures/branches_erstellen_1.png b/pictures/branches_erstellen_1.png
new file mode 100644 (file)
index 0000000..fc87f5e
Binary files /dev/null and b/pictures/branches_erstellen_1.png differ
diff --git a/pictures/branches_erstellen_2.png b/pictures/branches_erstellen_2.png
new file mode 100644 (file)
index 0000000..4815549
Binary files /dev/null and b/pictures/branches_erstellen_2.png differ
diff --git a/pictures/branches_erstellen_3.png b/pictures/branches_erstellen_3.png
new file mode 100644 (file)
index 0000000..af36dac
Binary files /dev/null and b/pictures/branches_erstellen_3.png differ
diff --git a/pictures/branches_erstellen_4.png b/pictures/branches_erstellen_4.png
new file mode 100644 (file)
index 0000000..7f0a1b0
Binary files /dev/null and b/pictures/branches_erstellen_4.png differ
diff --git a/pictures/branches_erstellen_5.png b/pictures/branches_erstellen_5.png
new file mode 100644 (file)
index 0000000..4ff01fb
Binary files /dev/null and b/pictures/branches_erstellen_5.png differ
diff --git a/pictures/branches_erstellen_6.png b/pictures/branches_erstellen_6.png
new file mode 100644 (file)
index 0000000..070a305
Binary files /dev/null and b/pictures/branches_erstellen_6.png differ
diff --git a/pictures/branches_erstellen_7.png b/pictures/branches_erstellen_7.png
new file mode 100644 (file)
index 0000000..ea6b07b
Binary files /dev/null and b/pictures/branches_erstellen_7.png differ
diff --git a/pictures/branches_erstellen_8.png b/pictures/branches_erstellen_8.png
new file mode 100644 (file)
index 0000000..d995bf3
Binary files /dev/null and b/pictures/branches_erstellen_8.png differ
diff --git a/pictures/erster_text_1.png b/pictures/erster_text_1.png
new file mode 100644 (file)
index 0000000..2b6dd1d
Binary files /dev/null and b/pictures/erster_text_1.png differ
diff --git a/pictures/erster_text_2.png b/pictures/erster_text_2.png
new file mode 100644 (file)
index 0000000..b6dfdeb
Binary files /dev/null and b/pictures/erster_text_2.png differ
diff --git a/pictures/feature_1.png b/pictures/feature_1.png
new file mode 100644 (file)
index 0000000..e06df86
Binary files /dev/null and b/pictures/feature_1.png differ
diff --git a/pictures/feature_2.png b/pictures/feature_2.png
new file mode 100644 (file)
index 0000000..4ddba0e
Binary files /dev/null and b/pictures/feature_2.png differ
diff --git a/pictures/feature_3.png b/pictures/feature_3.png
new file mode 100644 (file)
index 0000000..4acf35a
Binary files /dev/null and b/pictures/feature_3.png differ
diff --git a/pictures/feature_4.png b/pictures/feature_4.png
new file mode 100644 (file)
index 0000000..b3fd3e4
Binary files /dev/null and b/pictures/feature_4.png differ
diff --git a/pictures/feature_5.png b/pictures/feature_5.png
new file mode 100644 (file)
index 0000000..2f3b35d
Binary files /dev/null and b/pictures/feature_5.png differ
diff --git a/pictures/feature_6.png b/pictures/feature_6.png
new file mode 100644 (file)
index 0000000..7cd29c3
Binary files /dev/null and b/pictures/feature_6.png differ