Started with gogs, added NetBeans
This commit is contained in:
parent
09a92223e6
commit
6309801479
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
|
||||
verf"ugen.\\
|
||||
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}
|
||||
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''
|
||||
an. In das Verzeichnis ``.ssh'' kommen in die Datei ``authorized\_keys'' die "offentlichen
|
||||
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:
|
||||
\begin{verbatim}
|
||||
sudo adduser git
|
||||
@ -434,7 +515,8 @@ dicken Server, der irgendwo in einem Rechenzentrum in Deutschland steht.
|
||||
|
||||
\chapter{Projekt ``Welt'' auf den Server bringen}
|
||||
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
|
||||
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
|
||||
\end{itemize}
|
||||
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
|
||||
eingepflegt.\\
|
||||
\\
|
||||
@ -593,6 +675,46 @@ ein sch"ones Log auf den Bildschirm. Und wenn du die Kurzform
|
||||
der Commits haben willst, dann bringt dich
|
||||
\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}
|
||||
Zum Ende hin noch ein paar Anregungen bzgl. der Einsatzzwecke
|
||||
von GIT.\\
|
||||
|
Loading…
Reference in New Issue
Block a user