HOWTO:Git
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 jeder der die URL zum Repo kennt, pushen/pullen kann. Wenn man das Verschmerzen kann, hat man sehr zügig ein Repo und kann anfangen zu arbeiten.
Um anderen das Navigieren in das eigene Homeverzeichnis zu erlauben, muss das Execute-Bit gesetzt werden. Damit ist es für andere nicht möglich den Inhalt des Ordners einzusehen. In diesem Fall wird allen Mitgliedern der der gesetzten Gruppe das Navigieren erlaubt. (Ich hoffe mal alle Studenten sind in der selben Gruppe)
chmod g+x ~
Nun muss noch die Ordnerstruktur angelegt werden. Um etwas "Sicherheit" 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.
mkdir -p ~/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git
Ein zweites Repo würde man dann z.B. anlegen unter
mkdir -p ~/gitrepos/vis-fjouh2o4tuh234nof/vis.git
Diese Art der Bennung hat folgende Vorteile:
- Beim clonen wird der Ordner fgi3-sem ohne die kryptische Buchstabenkombination benannt
- Durch den Präfix "fgi3-sem-" auf erster Ebene sieht man bei einem ls im Ordner gitrepos direkt um welche Repos es sich handelt
- Man hat die Gewissheit, dass niemand die Repo-Url einfach erraten kann und somit Zugriff aufs Repo erlangt
Nun muss man in das Verzeichnis *.git wechseln
cd ~/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git
und initialisiert ein neues Repo. Die shared=0660 Option gibt dem Besitzer und der Gruppe Schreib- und Leserechte.
git init --bare --shared=0660
Jetzt muss nur noch der Pfad zum clonen ermittelt werde.
pwd
Nun kann jeder andere mit einem ssh-Zugang wie folgt clonen.
git clone <Kennung-des-Zugreifenden>@rzssh1.informatik.uni-hamburg.de:<Pfad>
Angenommen 5kumpe hat das Repo angelegt und 11sieli will drauf zugreifen, sähe der Befehl folgendermaßen aus.
git clone 11sieli@rzssh1.informatik.uni-hamburg.de:/informatik2/students/home/5kumpe/gitrepos/fgi3-sem-3hoghdf8gu908erg/fgi3-sem.git
Wundere dich nicht, wenn der Pfad zu deinem Home davon abweicht. Bei verschiedenen Jahrgängen kann das durchaus der Fall sein.