<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.mafiasi.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.119.46.19</id>
	<title>Fachschaft Informatik - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mafiasi.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.119.46.19"/>
	<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php/Spezial:Beitr%C3%A4ge/95.119.46.19"/>
	<updated>2026-10-17T06:25:22Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=HOWTO:Git&amp;diff=17423</id>
		<title>HOWTO:Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=HOWTO:Git&amp;diff=17423"/>
		<updated>2013-04-10T14:29:08Z</updated>

		<summary type="html">&lt;p&gt;95.119.46.19: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier wird erklärt, wie man in seinem Uni-Home ein Git-Repo einrichtet, in das auch andere Studenten pushen/pullen können. Man sollte dabei beachten, dass bei dieser Methode &#039;&#039;&#039;jeder&#039;&#039;&#039; der die URL zum Repo kennt, pushen/pullen kann. Wenn man das verschmerzen kann, hat man sehr zügig ein Repo und kann anfangen kollaborativ zu arbeiten.&lt;br /&gt;
&lt;br /&gt;
== Workaround bei Zugriffsbeschränktem Homeverzeichnis ==&lt;br /&gt;
&lt;br /&gt;
Wenn alle Teilnehmer im gleichen Jahrgang sind, kann dieser Workaround ignoriert werden.&lt;br /&gt;
Da die studentischen Homeverzeichnisse nicht homogen organisiert sind, sondern einer gewachsenen Struktur entspringen, muss als erstes überpüft werden, ob alle Teilnehmer Zugriff auf den übergeordneten Ordner haben.&lt;br /&gt;
Also einmal in dem Home-Verzeichnis, wo das Repo später liegen soll folgendes prüfen:&lt;br /&gt;
 &lt;br /&gt;
 cd ~/..&lt;br /&gt;
 pwd&lt;br /&gt;
&lt;br /&gt;
erzeugt z.B. folgende Ausgabe:&lt;br /&gt;
/informatik2/students/home&lt;br /&gt;
&lt;br /&gt;
Nun müssen alle Teilnehmer, die Zugriff auf das Repo erhalten sollen prüfen, ob sie Zugriff auf den Ordner haben.&lt;br /&gt;
Falls das nicht der Fall sein sollte, muss ein anderer Teilnehmer das Repo bei sich einrichten.&lt;br /&gt;
&lt;br /&gt;
== Grundstruktur Einrichten ==&lt;br /&gt;
&lt;br /&gt;
Diese Schritte müssen nur einmalig gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Um anderen das Navigieren in das eigene Homeverzeichnis zu erlauben, muss das Execute-Bit gesetzt werden.&lt;br /&gt;
Damit ist es für andere nicht möglich den Inhalt des Ordners einzusehen.&lt;br /&gt;
&lt;br /&gt;
 chmod a+x ~&lt;br /&gt;
&lt;br /&gt;
Ein Ordner für alle Repos macht sich wahrscheinlich gut.&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/gitrepos&lt;br /&gt;
&lt;br /&gt;
Dieser muss für alle navigierbar sein. Also muss das Execution-Bit gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
 chmod a+x ~/gitrepos&lt;br /&gt;
&lt;br /&gt;
== Repo Einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun muss noch die Ordnerstruktur angelegt werden. Um etwas &amp;quot;Sicherheit&amp;quot; zu gewähren macht sich eine zufällige Buchstabenkombination am Ende ganz gut. Die zwei Ebenen und die etwas sonderbare Benennung sind gewollt und sind so recht praktikabel.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/gitrepos/fgi3-sem-hhoghdf8gu908erg/fgi3-sem.git&lt;br /&gt;
&lt;br /&gt;
Ein zweites Repo würde man dann z.B. anlegen unter&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/gitrepos/vis-fjouh2o4tuh234nof/vis.git&lt;br /&gt;
&lt;br /&gt;
Diese Art der Bennung hat folgende Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Beim clonen wird der Ordner fgi3-sem ohne die kryptische Buchstabenkombination benannt&lt;br /&gt;
* Durch den Präfix &amp;quot;fgi3-sem-&amp;quot; auf erster Ebene sieht man bei einem ls im Ordner gitrepos direkt um welche Repos es sich handelt&lt;br /&gt;
* Man hat die Gewissheit, dass niemand die Repo-Url einfach erraten kann und somit Zugriff aufs Repo erlangt&lt;br /&gt;
&lt;br /&gt;
Die Verzeichnisse müssen für alle navigierbar gemacht werden.&lt;br /&gt;
&lt;br /&gt;
 chmod -R a+x ~/gitrepos/fgi3-sem-hhoghdf8gu908erg&lt;br /&gt;
&lt;br /&gt;
Nun muss man in das Verzeichnis *.git wechseln&lt;br /&gt;
&lt;br /&gt;
 cd ~/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git&lt;br /&gt;
&lt;br /&gt;
und initialisiert ein neues Repo ohne Working-Directory (bare). Die shared=0666 Option gibt &#039;&#039;&#039;allen&#039;&#039;&#039; Schreib- und Leserechte.&lt;br /&gt;
&lt;br /&gt;
 git init --bare --shared=0666&lt;br /&gt;
&lt;br /&gt;
Jetzt muss nur noch der &amp;lt;Pfad&amp;gt; zum clonen ermittelt werde.&lt;br /&gt;
&lt;br /&gt;
 pwd&lt;br /&gt;
&lt;br /&gt;
Nun kann jeder andere mit einem ssh-Zugang wie folgt clonen.&lt;br /&gt;
&lt;br /&gt;
 git clone &amp;lt;Kennung-des-Zugreifenden&amp;gt;@rzssh1.informatik.uni-hamburg.de:&amp;lt;Pfad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angenommen 11sieli hat das Repo angelegt und 5kumpe will drauf zugreifen, sähe der Befehl folgendermaßen aus.&lt;br /&gt;
&lt;br /&gt;
 git clone 5kumpe@rzssh1.informatik.uni-hamburg.de:/informatik2/students/home/11sieli/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git&lt;br /&gt;
&lt;br /&gt;
Wundere dich nicht, wenn der Pfad zu deinem Home davon abweicht. Bei verschiedenen Jahrgängen kann das durchaus der Fall sein.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTO]]&lt;/div&gt;</summary>
		<author><name>95.119.46.19</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=HOWTO:Git&amp;diff=17422</id>
		<title>HOWTO:Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=HOWTO:Git&amp;diff=17422"/>
		<updated>2013-04-10T14:23:58Z</updated>

		<summary type="html">&lt;p&gt;95.119.46.19: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier wird erklärt, wie man in seinem Uni-Home ein Git-Repo einrichtet, in das auch andere Studenten pushen/pullen können. Man sollte dabei beachten, dass bei dieser Methode &#039;&#039;&#039;jeder&#039;&#039;&#039; der die URL zum Repo kennt, pushen/pullen kann. Wenn man das Verschmerzen kann, hat man sehr zügig ein Repo und kann anfangen kollaborativ zu arbeiten.&lt;br /&gt;
&lt;br /&gt;
== Workaround bei Zugriffsbeschränktem Homeverzeichnis ==&lt;br /&gt;
&lt;br /&gt;
Wenn alle Teilnehmer im gleichen Jahrgang sind, kann dieser Workaround ignoriert werden.&lt;br /&gt;
Da die studentischen Homeverzeichnisse nicht homogen organisiert sind, sondern einer gewachsenen Struktur entspringen, muss als erstes überpüft werden, ob alle Teilnehmer Zugriff auf den übergeordneten Ordner haben.&lt;br /&gt;
Also einmal in dem Home-Verzeichnis, wo das Repo später liegen soll folgendes prüfen:&lt;br /&gt;
 &lt;br /&gt;
 cd ~/..&lt;br /&gt;
 pwd&lt;br /&gt;
&lt;br /&gt;
erzeugt z.B. folgende Ausgabe:&lt;br /&gt;
/informatik2/students/home&lt;br /&gt;
&lt;br /&gt;
Nun müssen alle Teilnehmer, die Zugriff auf das Repo erhalten sollen prüfen, ob sie Zugriff auf den Ordner haben.&lt;br /&gt;
Falls das nicht der Fall sein sollte, muss ein anderer Teilnehmer das Repo bei sich einrichten.&lt;br /&gt;
&lt;br /&gt;
== Grundstruktur Einrichten ==&lt;br /&gt;
&lt;br /&gt;
Diese Schritte müssen nur einmalig gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Um anderen das Navigieren in das eigene Homeverzeichnis zu erlauben, muss das Execute-Bit gesetzt werden.&lt;br /&gt;
Damit ist es für andere nicht möglich den Inhalt des Ordners einzusehen.&lt;br /&gt;
&lt;br /&gt;
 chmod a+x ~&lt;br /&gt;
&lt;br /&gt;
Ein Ordner für alle Repos macht sich wahrscheinlich gut.&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/gitrepos&lt;br /&gt;
&lt;br /&gt;
Dieser muss für alle navigierbar sein. Also muss das Execution-Bit gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
 chmod a+x ~/gitrepos&lt;br /&gt;
&lt;br /&gt;
== Repo Einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun muss noch die Ordnerstruktur angelegt werden. Um etwas &amp;quot;Sicherheit&amp;quot; zu gewähren macht sich eine zufällige Buchstabenkombination am Ende ganz gut. Die zwei Ebenen und die etwas sonderbare Benennung sind gewollt und sind so recht praktikabel.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/gitrepos/fgi3-sem-hhoghdf8gu908erg/fgi3-sem.git&lt;br /&gt;
&lt;br /&gt;
Ein zweites Repo würde man dann z.B. anlegen unter&lt;br /&gt;
&lt;br /&gt;
 mkdir -p ~/gitrepos/vis-fjouh2o4tuh234nof/vis.git&lt;br /&gt;
&lt;br /&gt;
Diese Art der Bennung hat folgende Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Beim clonen wird der Ordner fgi3-sem ohne die kryptische Buchstabenkombination benannt&lt;br /&gt;
* Durch den Präfix &amp;quot;fgi3-sem-&amp;quot; auf erster Ebene sieht man bei einem ls im Ordner gitrepos direkt um welche Repos es sich handelt&lt;br /&gt;
* Man hat die Gewissheit, dass niemand die Repo-Url einfach erraten kann und somit Zugriff aufs Repo erlangt&lt;br /&gt;
&lt;br /&gt;
Die Verzeichnisse müssen für alle navigierbar gemacht werden.&lt;br /&gt;
&lt;br /&gt;
 chmod -R a+x ~/gitrepos/fgi3-sem-hhoghdf8gu908erg&lt;br /&gt;
&lt;br /&gt;
Nun muss man in das Verzeichnis *.git wechseln&lt;br /&gt;
&lt;br /&gt;
 cd ~/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git&lt;br /&gt;
&lt;br /&gt;
und initialisiert ein neues Repo ohne Working-Directory (bare). Die shared=0666 Option gibt &#039;&#039;&#039;allen&#039;&#039;&#039; Schreib- und Leserechte.&lt;br /&gt;
&lt;br /&gt;
 git init --bare --shared=0666&lt;br /&gt;
&lt;br /&gt;
Jetzt muss nur noch der &amp;lt;Pfad&amp;gt; zum clonen ermittelt werde.&lt;br /&gt;
&lt;br /&gt;
 pwd&lt;br /&gt;
&lt;br /&gt;
Nun kann jeder andere mit einem ssh-Zugang wie folgt clonen.&lt;br /&gt;
&lt;br /&gt;
 git clone &amp;lt;Kennung-des-Zugreifenden&amp;gt;@rzssh1.informatik.uni-hamburg.de:&amp;lt;Pfad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angenommen 11sieli hat das Repo angelegt und 5kumpe will drauf zugreifen, sähe der Befehl folgendermaßen aus.&lt;br /&gt;
&lt;br /&gt;
 git clone 5kumpe@rzssh1.informatik.uni-hamburg.de:/informatik2/students/home/11sieli/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git&lt;br /&gt;
&lt;br /&gt;
Wundere dich nicht, wenn der Pfad zu deinem Home davon abweicht. Bei verschiedenen Jahrgängen kann das durchaus der Fall sein.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTO]]&lt;/div&gt;</summary>
		<author><name>95.119.46.19</name></author>
	</entry>
</feed>