Skip to content
Snippets Groups Projects
Select Git revision
  • 0f38018f713639c7b1dc7585e89c3df9f958c48c
  • master default
  • lip-21w
3 results

handout.tex

  • user avatar
    Moritz Holtz authored
    0f38018f
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    handout.tex 6.79 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},
      language=bash,
      caption={}
    }
    % 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, 
          SS~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{Moritz Holtz}
                   {moritz@fsmpi.rwth-aachen.de}
                   {24.~April~2013}
                   {GIT~Workshop}
    
    \section*{GIT einrichten}
    \begin{lstlisting}
    $ sudo apt-get install git
    $ git config user.name "Dein Name"
    $ git config user.email deineMailadresse@hoster.com
    \end{lstlisting}
    
    \section*{Git lokal verwenden}
    Um Git lediglich lokal zu verwenden kann einfach mittels
    \begin{lstlisting}
    $ git init reponame
    \end{lstlisting}
    ein neues Repository namens \textsl{reponame} erzeugt werden.
    
    \section*{Git mit einem Server verwenden}
    %Viel schöner ist es natürlich, Git auf einem Server zu verwenden. Dafür brauch man erstmal einen Server, auf dem das Repository liegen soll.\\
    Anbieter von Repositorys sind beispielsweise:
    \begin{itemize}
    	\item Github.com
    	\item BitBucket.org
    \end{itemize}
    %Es gibt dabei verschiedene Anbieter, wie GitHub.com oder BitBucket.org.
    Zudem sollte man einen SSH-Key erzeugen, mit dem man sich später authentifizieren kann:
    \begin{lstlisting}
    $ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/[yourUser]/.ssh/id\_rsa): 
    	/home/[yourUser]/.ssh/git
    \end{lstlisting}
    Den Inhalt der dabei erzeugten Datei /home/\textsl{[yourUser]}/.ssh/git.pub kann man nun bei dem Hoster hochladen.\\
    Nun muss man ssh bzw. git noch mitteilen, welchen Key es verwenden soll. Dafür ergänzt du die Datei $\sim/.ssh/config$ um folgendes:
    \begin{lstlisting}[language=bash,caption={}]
    Host GitServer
    	HostName [server]
    	User [user]
    	IdentityFile ~/.ssh/git
    \end{lstlisting}
    Du erhältst in der Regel eine URL in der Form \textsl{[user]@[server]:[pfad]}(Teilweise muss explizit \textsl{ssl-url} ausgewählt werden).\\
    \textsl{[user]} und \textsl{[server]} musst du in obiger Datei entsprechend einfügen, \textsl{GitServer} kannst du beliebig, aber möglichst sinnvoll setzen.
    Das Repository kannst du dann mittels
    \begin{lstlisting}
    $ git clone GitServer:[pfad]
    \end{lstlisting}
    downloaden.
    
    \newpage
    \section*{Die wichtigsten GIT Befehle}
    
    Daten von dem Dateisystem in das Repository schreiben:
    \begin{lstlisting}
    $ git commit -a -m "Sinnvoller commit Kommentar"
    \end{lstlisting}
    Daten vom Server anfordern:
    \begin{lstlisting}
    $ git pull
    \end{lstlisting}
    Repository auf den Server übertragen:
    \begin{lstlisting}
    $ git push
    \end{lstlisting}
    Datei/Ordner zu einem Repository hinzufügen:
    \begin{lstlisting}
    $ git add FILE
    \end{lstlisting}
    Datei im Dateisystem und im Repository verschieben:
    \begin{lstlisting}
    $ git mv FROM TO
    \end{lstlisting}
    Datei im Dateisystem und im Repository löschen:
    \begin{lstlisting}
    $ git rm FILE
    \end{lstlisting}
    Gibt den aktuellen Status des Repositorys im Vergleich zum Dateisystem aus:
    \begin{lstlisting}
    $ git status
    \end{lstlisting}
    Gibt eine Liste aller “Commits” aus:
    \begin{lstlisting}
    $ git log
    \end{lstlisting}
    Zeigt Unterschiede seit dem letzten Commit an:
    \begin{lstlisting}
    $ git diff
    \end{lstlisting}
    Setzt das Repository auf eine frühere Version zurück:
    \begin{lstlisting}
    $ git reset TO-COMMIT-HASH
    \end{lstlisting}
    Gibt weitere Infos:
    \begin{lstlisting}
    $ git shelp
    $ git [kommando] help
    \end{lstlisting}
    
    \section*{Dateien ignorieren}
    
    Es ist zudem möglich Dateien zu ignorieren indem man folgende Datei anlegt: $.gitignore$
    
    \begin{lstlisting}
    # 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 und gilt für alle Unterverzeichnisse.
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % 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
    	\bibitem{wiki} http://git-scm.com/book
      \end{thebibliography}
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Ende des Dokuments -- alles, was nach dieser Zeile steht, wird 
    % von LaTeX ignoriert!
    \end{document}