Select Git revision
lecture.html
Forked from
Video AG Infrastruktur / website
Source project has a limited visibility.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
handout.tex 7.10 KiB
% Vorlage fuer Handouts
% zum Seminar "Diskrete Geometrie und Kombinatorik -- ein topologischer Zugang"
% im WS 2008/09
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Allgemeine Hinweise
% - Halten Sie den LaTeX-Code so uebersichtlich wie moeglich;
% (La)TeX-Fehlermeldungen sind oft kryptisch -- in einem ordentlich
% strukturierten Quellcode lassen sich Fehler leichter finden und
% beseitigen
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Jedes LaTeX-Dokument muss eine \documentclass-Deklaration enthalten
% Diese sorgt fuer das allgemeine Seiten-Layout, das Aussehen der
% Ueberschriften etc.
\documentclass[a4paper,doubleside,DIV8,10pt]{scrartcl}
\usepackage[left=3cm,right=3cm,top=1.5cm,bottom=1cm,includeheadfoot]{geometry}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Einbinden weiterer Pakete
% deutsche Silbentrennung
\usepackage[ngerman]{babel}
% wegen deutschen Umlauten
\usepackage[utf8]{inputenc}
% \usepackage{ngerman} % entsprechend fuer die neue Rechtschreibung
\usepackage{relsize} % fuer \smaller
\usepackage{xcolor}
\usepackage{listings}
\usepackage[fleqn]{mathtools}
\lstset{basicstyle=\ttfamily,
showstringspaces=false,
commentstyle=\color{red},
keywordstyle=\color{blue}
}
% Deklaration weiterer Makros
\renewcommand{\labelitemi}{--} % aendert die Symbole bei unnumerierten Aufzaehlungen
\makeatletter % Fussnote ohne Symbol
\def\blfootnote{\xdef\@thefnmark{}\@footnotetext}
% Titel des Handouts
% #1 Name des Vortragenden
% #2 email-Adresse
% #3 Datum des Vortrags
% #4 Titel des Vortrags
\newcommand{\handouttitle}[4]
{\begin{center}
\Large #4
\end{center}
\bigskip
\noindent
#1 (\textsf{#2})
\hfill
#3%
\blfootnote{KISS \glqq GIT Workshop\grqq,
WS~2013/2014, RWTH Aachen University}
\noindent
\rule{\linewidth}{.5pt}
\bigskip
\@afterindentfalse\@afterheading
}
\makeatother
\renewcommand{\sectfont}{\normalfont} % aendert den Font fuer Ueberschriften
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Anfang des eigentlichen Dokuments
\begin{document}
% Titel fuer das Handout -- Sie koennen natuerlich auch selbst etwas entwerfen!
\handouttitle{Andreas Lenzen}
{andi@fsmpi.rwth-aachen.de}
{24.~Oktober~2013}
{GIT~Workshop}
\section*{GIT einrichten}
\begin{lstlisting}[language=bash,caption={}]
$ sudo apt-get install git
$ git config user.name "Dein Name"
$ git config user.email deineMailadresse@hoster.com
\end{lstlisting}
\section*{RabbitVCS einrichten}
\begin{lstlisting}[language=bash,caption={}]
$ sudo add-apt-repository ppa:rabbitvcs/ppa
$ sudo apt-get update
$ sudo apt-get install rabbitvcs-nautilus3 rabbitvcs-gedit
rabbitvcs-cli
\end{lstlisting}
Entweder ein Neustart oder
\begin{lstlisting}[language=bash,caption={}]
$ pkill nautilus
\end{lstlisting}
\section*{SSH-Key erzeugen}
\begin{lstlisting}[language=bash,caption={}]
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/[yourUser]/.ssh/id\_rsa):
/home/[yourUser]/.ssh/bitbucketGit
\end{lstlisting}
Die Passphrase schützt deinen private-key ! {\bf Nicht leer lassen ! ! !}
Du musst SSH noch mitteilen für welche Verbindungen dieser key verwendet werden soll. Dazu ergänzt du $\sim/.ssh/config$ um folgende Zeilen (Wenn die Datei noch nicht existiert, dann erstelle sie):
\begin{lstlisting}[language=bash,caption={}]
Host bitbucket
HostName bitbucket.org
User git
IdentityFile ~/.ssh/bitbucketGit
\end{lstlisting}
\section*{BitBucket}
\begin{enumerate}
\item Registrierung
\item SSH-Public-Key hinterlegen ($\sim/.ssh/bitbucket.pub$)
\item Repository erstellen
\end{enumerate}
\section*{Repository aus-checken}
\subsection*{RabbitVCS}
Mit RabbitVCS einfach einen Rechtsklick in einen beliebigen Ordner
$\rightarrow RabbitVCS\ Git$
$\rightarrow Clone $
$\rightarrow URL: ssh://git@bitbucket.org/USERNAME/REPOSITORYNAME.git$
$\rightarrow Destination: /pfad/zu/dem/repository$
Beim ersten mal wirst du gefragt ob du dich mit diesem Host verbinden möchtest. Das mit "yes" bestätigen. Nun wirst du nach deiner Passphrase gefragt.
\subsection*{Konsole}
Mit der Konsole:
\begin{lstlisting}[language=bash,caption={}]
$ git clone ssh://git@bitbucket.org/USERNAME/REPOSITORYNAME.git
/pfad/zu/dem/repository
\end{lstlisting}
Auch hier muss man bei der ersten Verbindung mit "yes" bestätigen und deine Passphrase eingeben.
Das Repository befindet sich hier: /pfad/zu/dem/repository
\section*{Die wichtigsten GIT Befehle}
Daten von dem Dateisystem in das Repository schreiben
\begin{lstlisting}[language=bash,caption={}]
$ git commit -a -m "Sinnvoller commit Kommentar"
\end{lstlisting}
Daten vom Server (BitBucket) anfordern
\begin{lstlisting}[language=bash,caption={}]
$ git pull
\end{lstlisting}
Repository auf den Server übertragen
\begin{lstlisting}[language=bash,caption={}]
$ git push
\end{lstlisting}
Datei zu einem Repository hinzufügen
\begin{lstlisting}[language=bash,caption={}]
$ git add FILE
\end{lstlisting}
Datei im Dateisystem und im Repository verschieben
\begin{lstlisting}[language=bash,caption={}]
$ git mv FROM TO
\end{lstlisting}
Datei im Dateisystem und im Repository löschen
\begin{lstlisting}[language=bash,caption={}]
$ git rm FILE
\end{lstlisting}
Gibt den aktuellen Status des Repositorys im Vergleich zum Dateisystem aus
\begin{lstlisting}[language=bash,caption={}]
$ git status
\end{lstlisting}
Gibt eine Liste aller “Commits” aus
\begin{lstlisting}[language=bash,caption={}]
$ git log
\end{lstlisting}
Setzt das Repository auf eine frühere Version zurück
\begin{lstlisting}[language=bash,caption={}]
$ git reset TO-COMMIT-HASH
\end{lstlisting}
\section*{Dateien ignorieren}
Es ist zudem möglich Dateien zu ignorieren indem man folgende Datei anlegt: $.gitignore$
\begin{lstlisting}[language=bash,caption={}]
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
\end{lstlisting}
Es können Beispielsweise Wildcards verwendet werden um, wie im Beispiel, alle Dateien mit der Endung ".class" zu ignorieren. Zeilen die mit einem Hashtag beginnen sind lediglich Kommentare die von GIT ignoriert werden.
Diese Datei sollte mit in das Repository gelegt werden.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Literaturverzeichnis
% - Der Einfachheit halber sind hier bereits alle Quellen eingetragen,
% die im Seminarprogramm auftreten
% - Bitte entfernen Sie alle Quellen, die Sie nicht in Ihrem Handout
% zitieren
% - Umgekehrt muessen Sie natuerlich, wenn Sie weitere Literatur
% zitieren wollen, die entsprechenden Quellen hier einfuegen;
% hierbei kann www.ams.org/mathscinet helfen, die noetigen
% Informationen zu den Quellen zu sammeln
% \begin{thebibliography}{99}
%\bibitem{wiki} http://de.wikipedia.org/wiki/Git
% \end{thebibliography}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ende des Dokuments -- alles, was nach dieser Zeile steht, wird
% von LaTeX ignoriert!
\end{document}