add content remote
authorTobias Rueetschi <tobisa.rueetschi@bfh.ch>
Thu, 27 Nov 2014 17:15:55 +0000 (18:15 +0100)
committerTobias Rueetschi <tobias.rueetschi@bfh.ch>
Thu, 27 Nov 2014 18:09:17 +0000 (19:09 +0100)
SmartGitHg_Einleitung.tex
content/remotes.tex [new file with mode: 0644]
pictures/remote_create_1.png [new file with mode: 0644]
pictures/remote_create_2.png [new file with mode: 0644]
pictures/remotes_1.png [new file with mode: 0644]
pictures/remotes_2.png [new file with mode: 0644]
pictures/remotes_3.png [new file with mode: 0644]
pictures/remotes_4.png [new file with mode: 0644]
pictures/remotes_5.png [new file with mode: 0644]

index 876e2c6..17a2255 100644 (file)
@@ -41,4 +41,7 @@
        \input{content/history}
        \input{content/tags}
        \input{content/gitignore}
+
+       \chapter{Zusammenarbeit}
+       \input{content/remotes}
 \end{document}
diff --git a/content/remotes.tex b/content/remotes.tex
new file mode 100644 (file)
index 0000000..1462d5b
--- /dev/null
@@ -0,0 +1,88 @@
+% !TEX root = ../SmartGitHg_Einleitung.tex
+
+\section{Remotes}
+\label{sec:remotes}
+
+Git ist zwar "`nur"' ein Versionsverwaltungssystem, es hat aber auch noch weitere M\"oglichkeiten. Eine davon ist, das lokale Repository mit entfernten zu synchronisieren. Es k\"onnen wahlweise nur einzelne Branches zusammen synchronisiert werden oder ganze Repositories. \\
+Dies gibt die M\"oglichkeit, mit anderen Leuten am gleichen Projekt zu arbeiten. Es ist auch m\"oglich ein Rechteverwaltungssystem zu integrieren.
+
+Die einfachste Methode miteinander zu arbeiten, ist einen zentralen Server zu haben. Da dies aber nicht immer zur verf\"ugung steht, kann auch Peer-to-Peer zusammen synchronisiert werden. Dies macht es auch m\"oglich, ein zentrales Repository auf einem Datei-Server zu haben.
+
+\textbf{Eine Synchronisation auf eine Dropbox oder \"ahnliches wird nicht empfohlen!} \\
+Dropbox hat ein eigenes Versionsverwaltungssystem und legt bei Konflikten, wegen mehrfacher Arbeit an einer Datei, diese mehrmals an. Dies kann zu Fehler im Repository f\"uhren, welche nicht behoben werden k\"onnen. Somit w\"are auch die History verloren.
+
+\subsection{Remotes erstellen}
+
+Als Remote wird der Ordner P:\textbackslash{}TI\textbackslash{}fbe\textbackslash{}public\textbackslash{}SmartGitHg\_Einleitung.git genutzt. Als erstes wird dieser Ordner erstellt. Danach wird ein Bares Git Repository in diesem Ordner erstellt.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/remote_create_1.png} \\
+       Git Bash \"offnen und dort eingeben: "`git init --bare"' und mit Enter best\"atigen.
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=\textwidth]{pictures/remote_create_2.png} \\
+       Mit "`Exit"' die Git Bash wieder beenden.
+\end{minipage}
+
+Danach muss das Remote dem lokalen Repository bekannt gemacht werden.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/remotes_1.png} \\
+       Remote Add Men\"u \"offnen
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/remotes_2.png} \\
+       Remote Ordner eingeben und das Verify H\"ackchen ggf. deaktivieren.
+\end{minipage}
+
+Das Remote Repository ist jetzt hinzugef\"ugt, somit k\"onnen die Branches \"ubertragen werden, diesen Vorgang nennt man Push.
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/remotes_3.png} \\
+       Den Branch master pushen.
+\end{minipage}
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.6\textwidth]{pictures/remotes_4.png} \\
+       Button "`Push"' klicken
+\end{minipage}
+
+\begin{minipage}[c]{0.5\textwidth}
+       \centering
+       \includegraphics[width=0.8\textwidth]{pictures/remotes_5.png} \\
+       "`Configure"' anklicken, dann wird der Remote Branch mit den lokalen verbunden.
+\end{minipage}
+
+Der Branch "`master"' ist nun auch auf dem Remote Repository. Wenn jemand anderes \"Anderungen gemacht hat an diesem, kann er per "`Pull"' wieder geholt werden. Mit Fetch wird nur das lokale Index angepasst, welche Commits, Branches und Tags das Remote Repository besitzt.
+
+\subsection{Git-Server}
+
+Die BFH hat einen Git-Server unter der Adresse \url{git.bfh.ch}. Meistens wird mit einem Git-Server \"uber eine SSH Verbindung kommuniziert, dies setzt jedoch voraus, dass ein asynchroner Schl\"ussel erstellt wird. \\
+Die BFH hat hier gewisse Vorgaben:
+\begin{itemize}
+       \item Format: OpenSSH
+       \item L\"ange: 4096 Bytes
+       \item Methode: RSA
+\end{itemize}
+
+Dieser Key muss der ITS, mit dem Vermerk dass es f\"ur den Git Server ist, zugestellt werden.
+
+Eine SSH Verbindung wird in folgender Notation geschrieben: ssh://\$user@\$server:\$directory. \\
+SmartGitHg hat da einen Fehler: Es verwendet zwischen dem Server und dem Directory kein ':' sondern ein '/'. \\
+Im SmartGitHg muss als Remote folgendes eingetragen werden: ssh://git@git.bfh.ch/\$directory/\$repository.git.
+
+Der Git-Server erstellt das Repository beim ersten Zugriff darauf. Es gibt einen klaren Aufbau der Directories:
+\begin{itemize}
+       \item git.bfh.ch:student/\$kuerzel/: Zugriff f\"ur den jeweiligen Student
+       \item git.bfh.ch:staff/\$kuerzel/: Zugriff f\"ur den jeweiligen Mitarbeiter
+       \item git.bfh.ch:guest/\$kuerzel/: Zugriff f\"ur den jeweiligen Gast
+\end{itemize}
+Weitere Directories sind: \\
+\$Departement / \$Abteilung / \$Institut / \$Forschungsgruppe \\
+\$Departement / \$Abteilung / BSc / \$Vertiefung \\
+Diese Ordner m\"ussen aber beantragt und f\"ur jede Person freigeschalten werden. F\"ur diese Gruppen muss auch immer eine Person zust\"andig sein.
diff --git a/pictures/remote_create_1.png b/pictures/remote_create_1.png
new file mode 100644 (file)
index 0000000..1ab1937
Binary files /dev/null and b/pictures/remote_create_1.png differ
diff --git a/pictures/remote_create_2.png b/pictures/remote_create_2.png
new file mode 100644 (file)
index 0000000..df45f37
Binary files /dev/null and b/pictures/remote_create_2.png differ
diff --git a/pictures/remotes_1.png b/pictures/remotes_1.png
new file mode 100644 (file)
index 0000000..aa4ce73
Binary files /dev/null and b/pictures/remotes_1.png differ
diff --git a/pictures/remotes_2.png b/pictures/remotes_2.png
new file mode 100644 (file)
index 0000000..306396a
Binary files /dev/null and b/pictures/remotes_2.png differ
diff --git a/pictures/remotes_3.png b/pictures/remotes_3.png
new file mode 100644 (file)
index 0000000..17d463f
Binary files /dev/null and b/pictures/remotes_3.png differ
diff --git a/pictures/remotes_4.png b/pictures/remotes_4.png
new file mode 100644 (file)
index 0000000..31902e0
Binary files /dev/null and b/pictures/remotes_4.png differ
diff --git a/pictures/remotes_5.png b/pictures/remotes_5.png
new file mode 100644 (file)
index 0000000..37a641e
Binary files /dev/null and b/pictures/remotes_5.png differ