Browse Source

Started with gogs, added NetBeans

hauke
Hauke Zühl 7 years ago
parent
commit
6309801479
  1. 128
      Git.tex

128
Git.tex

@ -388,7 +388,85 @@ Als GIT-Serversoftware empfehle ich an dieser Stelle gogs\footnote{https://gogs.
Wenn du dich damit besch"aftigen willst, solltest du aber "uber gute Linuxkenntnisse Wenn du dich damit besch"aftigen willst, solltest du aber "uber gute Linuxkenntnisse
verf"ugen.\\ verf"ugen.\\
Mit gogs hast du eine Weboberfl"ache, "ahnlich wie bei GitHub, unter der du deine Projekte Mit gogs hast du eine Weboberfl"ache, "ahnlich wie bei GitHub, unter der du deine Projekte
recht einfach verwalten kannst. Du hast auch die M"oglichkeit, private Projekte dort anzulegen. recht einfach verwalten kannst. Du hast auch die M"oglichkeit, private Projekte dort anzulegen
und mit Hilfe der Benutzerverwaltung kannst du auch Einfluss darauf nehmen, was deineTeammitgleider
alles so d"urfen.
\subsection{gogs}
Gogs ist ein kleines, aber feines Projekt, das ein Webfrontend f"ur einen git-Server bereitstellt.
Es ist in der Programmiersprache go geschrieben und ben"otigt nur minimale Resourcen.
\subsubsection{Installation}
Von https://gogs.io/docs/installation/install\_from\_binary l"adt man sich die passende Version
f"ur seinen Server runter und entpackt diese. Das entstandene Verzeichnis wird dann in das
Benutzerverzeichnis des Benutzers ``git'' verschoben und diesem zu eigen gemacht (chown).\\
Im Verzeichnis gogs/scripts findest du Beispiele, um gogs auf deinem System bei Systemstart
automatisch zu starten. Das geht zum Beispiel via init oder systemd.\\
Nat"urllich solltest du die Dateien entsprechend f"ur dein System anpassen, sonst stimmen
die Pfade unter Umst"anden nicht.
\subsubsection{Konfiguration}
Im Verzeichnis gogs, wird nun ein ``mkdir -p custom/conf'' durchgef"uhrt, um das Verzeichnis
f"ur die Konfigurationsdatei ``app.ini'' zu erzeugen.\\
Ein Beispiel f"ur eine app.ini:
\begin{verbatim}
APP_NAME = Gogs
RUN_USER = git
RUN_MODE = prod
[repository]
ROOT = /home/git/repositories
[database]
DB_TYPE = postgres
HOST = 127.0.0.1:5432
NAME = gogs
USER = gogs
PASSWD = GEHEIM
SSL_MODE = disable
PATH = data/gogs.db
[server]
DOMAIN = git.hauke-zuehl.de
HTTP_PORT = 3000
ROOT_URL = https://git.hauke-zuehl.de/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
[mailer]
ENABLED = false
[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
DISABLE_REGISTRATION = true
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = true
[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = true
[session]
PROVIDER = file
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /home/git/gogs/log
[security]
INSTALL_LOCK = true
\end{verbatim}
Bitte daran denken, dass diese Datei als Eigent"umer den Benutzer ``git'' haben muss!\\
In diesem Beispiel habe ich "ubrigens PostgreSQL als Datenbanksystem verwendet, du
kannst aber gerne MariaDB oder MySQL verwenden.
\subsubsection{Der erste Start}
Und hier weiss ich nicht mehr, wie ich das gemacht habe!
\section{GIT from scratch} \section{GIT from scratch}
Ich habe keine bessere "Uberschrift gefunden, aber wenn du keine Lust auf GitHub oder gogs oder Ich habe keine bessere "Uberschrift gefunden, aber wenn du keine Lust auf GitHub oder gogs oder
@ -397,6 +475,9 @@ Dann legst du als Benutzer ``root'' einen Benutzer ``git'' an. Hast du das erled
du zum Benutzer ``git'' und legst ein Verzeichnis ``.ssh'' im Benutzerverzeichnis von ``git'' du zum Benutzer ``git'' und legst ein Verzeichnis ``.ssh'' im Benutzerverzeichnis von ``git''
an. In das Verzeichnis ``.ssh'' kommen in die Datei ``authorized\_keys'' die "offentlichen an. In das Verzeichnis ``.ssh'' kommen in die Datei ``authorized\_keys'' die "offentlichen
SSH-Schl"ussel der Benutzer, die git benutzen d"urfen.\\ SSH-Schl"ussel der Benutzer, die git benutzen d"urfen.\\
Warum wird das mit den Schl"usseln gemacht?\\
Ganz einfach: Ansonsten m"usstest du jedem Teammitglied das Passwort des Benutzers ``git''
verraten und das willst du wirklich nicht!\\
Also: Also:
\begin{verbatim} \begin{verbatim}
sudo adduser git sudo adduser git
@ -434,7 +515,8 @@ dicken Server, der irgendwo in einem Rechenzentrum in Deutschland steht.
\chapter{Projekt ``Welt'' auf den Server bringen} \chapter{Projekt ``Welt'' auf den Server bringen}
Nachdem du also einen GIT-Server irgendwie ans Laufen gebracht hast, oder du dich bei GitHub Nachdem du also einen GIT-Server irgendwie ans Laufen gebracht hast, oder du dich bei GitHub
angemeldet hast, soll das ``Welt''-Projekt nun auf den entfernten Server gebracht werden. angemeldet hast, deinen "offentlichen SSH-Schl"ussel auf den Server geladen hast, soll das
``Welt''-Projekt nun auf den entfernten Server gebracht werden.
Ob dein GIT-Server nun auf deinem Raspberry oder auf deinem lokalen Server l"auft, der Unterschied Ob dein GIT-Server nun auf deinem Raspberry oder auf deinem lokalen Server l"auft, der Unterschied
liegt in der Benennung des Rechners. Ich erkl"are dir die folgenden Schritte unter der Annahme, liegt in der Benennung des Rechners. Ich erkl"are dir die folgenden Schritte unter der Annahme,
@ -502,7 +584,7 @@ unterworfen sind. Dies sind meistens
\item testing \item testing
\end{itemize} \end{itemize}
Um deine Arbeitskopie zu aktualisieren, wechselst du in den entsprechenden Um deine Arbeitskopie zu aktualisieren, wechselst du in den entsprechenden
Zwei (zum Beispiel ``develop'') und f"uhrst dort \textit{git pull} aus.\\ Zweig (zum Beispiel ``develop'') und f"uhrst dort \textit{git pull} aus.\\
Damit werden die "Anderungen vom Server heruntergeladen und in deinen Zweig Damit werden die "Anderungen vom Server heruntergeladen und in deinen Zweig
eingepflegt.\\ eingepflegt.\\
\\ \\
@ -593,6 +675,46 @@ ein sch"ones Log auf den Bildschirm. Und wenn du die Kurzform
der Commits haben willst, dann bringt dich der Commits haben willst, dann bringt dich
\textit{git log --abbrev-commit --graph} ans Ziel. \textit{git log --abbrev-commit --graph} ans Ziel.
\chapter{GIT in IDEs}
Die meisten IDEs bringen inzwischen Unterst"utzung f"ur GIT mit.\\
\section{NetBeans}
NetBeans ist eine recht verbreitete IDE, die kostenlos f"ur diverse
Plattformen angeboten wird.\\
Die Verbindung von NetBeans zu GIT kann "uber ein Plugin ggf.
nachinstalliert werden.\\
Startet man NetBeans, hat man unter Team->Git die M"oglichkeit,
GIT-Repos zu verwenden.\\
Als Beispiel verwende ich nun das Repository unter
https://github.com/hauke68/LibTgBotPP, das jedoch das C-/C++-Plugin
voraussetzt.\\
Um dies anonym auszuchecken und in ein NetzBeans-Projekt zu packen,
geht man wie folgt vor:\\
Unter Team->Git->Clone wird die obige URL eingetragen. Benutzer
und Passwort bleiben leer. Im n"achsten Schritt kann man die
Zweige ausw"ahlen, die ausgecheckt werden sollen. Ich empfehle,
erst einmal alle auszuchecken. Im dritten Schritt lassen wir alles
so, wie es ist.\\
Ist alles ordnugsgem"a"s ausgecheckt, sollten wir im Git Repository
Browser bereits das GIT-Repo sehen. Nun fehlt noch das NetBeans-Projekt.\\
Dazu auf File->New Project klicken und ein neues C-/C++-Projekt anlegen.
Dabei darauf achten, dass im Fenster ``Projects'' ``C/C++ Project with
existing sources'' ausgew"ahlt ist. Im zweiten Schritt w"ahlen wir
das Verzeichnis aus, in dem die Quellen des Repos sind. Das ist nat"urlich
das vorhin erzeugte Verzeichnis vom GIT-Repo.\\
Da das hier nur ein Beispiel ist, w"ahlen wir als Configuration Mode
``custom'' aus. Jetzt nur noch auf ``Next'' klciken, bis nur noch
``Finish'' m"oglich ist. Voila, das NetBeans-Projekt existiert und
man kann auch GIT als Versionskontrollsystem verwenden.\\
Wenn du nun eine Datei l"adst, "anderst und speicherst, kannst du
unter ``Team'' sehen, dass es mehr Auswahlm"oglichkeiten in Bezug
auf GIT gibt.\\
Spiele hier einfach mal ein wenig rum. Da du das Repo anonym
ausgecheckt hast, kannst du nichts kaputt machen. Etwas anderes
w"are es nat"urlich, wenn du unser Einstiegsprojekt ``Welt'' mit
Hilfe von NetBeans bearbeiten willst. Ich wei"s aber nicht, in
welche Kategorie dieses ``Projekt'' f"allt.
\chapter{Zum Ende noch ein paar Ideen und Worte} \chapter{Zum Ende noch ein paar Ideen und Worte}
Zum Ende hin noch ein paar Anregungen bzgl. der Einsatzzwecke Zum Ende hin noch ein paar Anregungen bzgl. der Einsatzzwecke
von GIT.\\ von GIT.\\

Loading…
Cancel
Save