= Umgang mit Git (Online)
:author: Patrick Gerth <patrick.gerth@zsl-rss.de>
include::kapitel-settings.adoc[]



== Anlegen von Repositories
Das Anlegen eines neuen Repositories gestaltet sich auf der Weboberfläche von Gitcamp denkbar einfach.
Dazu gilt es folgende Schritte zu befolgen:

=== Navigation zur Anlegemaske
Um  ein Repository anzulegen drücken Sie zunächst auf das Plus am oberen, rechten Bildschirmrand.

.Position des Plus-Buttons
image::bilder/BilderGitOnline/Erstellen 1.png[]

Im Anschluss öffnet sich das Kontextmenü und man erhält die Wahl zum Anlegen eines neuen Repositories.

.Auswahl der "Neues Repository"-Option
image::bilder/BilderGitOnline/Erstellen 1b.png[]

=== Ausfüllen der Anlegemaske

Innerhalb der nun geöffneten Maske lassen sich verschiedene Optionen für das neue Repository auswählen.

* verpflichtend ist hier der Name
* auch die beiden beiden Einstellungen für die Sichtbarkeit können nicht übergangen werden. Es empfiehlt sich für Testprojekte immer private Repositories zu verwenden, während die Vorlagen für andere öffentlich sein sollten.
* Eine Beschreibung (gerne in Ascii-Doc) hilft bei der Übersichtlichkeit
* als Lizenz empfiehlt sich die MIT-Lizenz
* Bei Bedarf bieten auch die anderen Einstellungsmöglichkeiten hervorragende Anpassungen

Durch Klicken auf den Button "Repository erstellen" wird das entsprechende Repository beim Nutzer angelegt.

=== Befüllen mit Daten

Im Nachgang zum Anlegen des Repsotories wird einem eine Kurzanleitung direkt eingeblendet. Diese gibt einem sogar die direkten Befehle vor um Lokal ein entsprechendes Repository anzulegen.

.Maske nach dem Erstellen
image::bilder/BilderGitOnline/Erstellen 1c.png[]

Selbstverständlich sind die entsprechenden Werte auf Ihr persönliches Repository anzupassen.

Sind Ihre initialen Daten erstmal hinterlegt können Sie umgehend mit der Arbeit beginnen. Auf ihrer Startseite finden Sie ab jetzt am rechten Rand eine Auflistung Ihrer Repositories.

== Einstellungen bei Repositories
Befinden Sie sich auf der Seite Ihres Repositories finden sie oben rechts den Einstellungsbutton:

.Auswahl der Einstellungs-Option
image::bilder/BilderGitOnline/Einstellungen finden.png[]

Hier gelangen Sie zunächst auf eine Seite, auf welcher Sie sämtliche Einstellungen anpassen können, welche Sie bei der Erstellung getroffen haben.
Außerdem finden sich hier auch komplexere Einstellungsmöglichkeiten, was das Signaturvertrauensmodell angeht (sofern Sie ein solches in Ihren Projekten verwenden möchten) und die besonderen Verwaltungseinstellungen des Administrators eines Projekts.

.Admineinstellungen
image::bilder/BilderGitOnline/Admineinstellungen.png[]

Die beistehenden Texte sind hier selbsterklärend.

=== Zugriffsrechte / Repositories freigeben
Wie im vorherigen Abschnitt zu sehen ist lässt sich ein Repository direkt an andere Benutzer übertragen. Allerdings ist dies natürlich nicht immer sinnvoll. Statt dessen benötigt ein entsprechendes Projekt oft Mitarbeiter oder, sollte es sich um ein privates Repository handeln, Betrachter.

.Mitarbeiterbereich in den Einstellungen
image::bilder/BilderGitOnline/Einstellungen - Mitarbeiter.png[]

Hier lassen sich Mitarbeiter hinzufügen, entfernen und individuell einstellen, ob sie

* Nur leserechte haben
    ** also nur die vorhandenen Dateien einsehen können und ggf. selbst von diesen einen Fork erstellen können
* Schreibrechte haben
    ** um damit auch Veränderungen an den Dateien vornehmen können
* oder Administratorrechte haben
    ** und damit das komplette Projekt samt Mitarbeiterliste etc. verändern können. Hier wird entschieden davon abgeraten leichtfertig dieses Recht zu vergeben.

.Mitarbeitereinstellungen
image::bilder/BilderGitOnline/MitarbeiterBeispiel.png[]

=== Issues zulassen
Um Rückmeldungen, Fehlermeldungen, Funktionswünsche etc. an Projekte zu richten oder um entsprechende Dinge selbst am Projekt zu verfolgen eignet sich die Erstellung sog. Issues.
Diese werden im entsprechenden Projekt unter "Issues" verwaltet.

.Issues-Tab
image::bilder/BilderGitOnline/Issues.png[]

Hier können Kommentare angehängt werden, welche den aktuellen Status beschreiben oder diskutieren. Durch Schließen des Issues seitens der Administration gilt dieses als abgearbeitet oder abgelehnt. Stellt sich im Nachhinein heraus, dass dem nicht so ist, so kann das Issue wieder eröffnet werden.
Bei Öffnen des Issues lassen sich außerdem Zuständige, Meilensteine, Fälligkeitsdaten etc. anhängen. Außerdem kann man die Kommentarsektion sperren, das Issue oben in der Issueliste anheften oder das ganze Issue löschen.

== Forken eines Repositories
Betrachtet man ein fremdes Repository, oder eines, in welchem zumindest Inhalte vorhanden sind, so lässt sich davon ein sog. Fork erstellen. Dabei handelt es sich um Kopien des entsprechenden Repositories zum Zeitpunkt des Forkens, welche beim forkenden Benutzer verortet sind. Zu finden ist der Knopf zum Forken auf der Seite des entsprechenden Repositories:

.Fork-Button
image::bilder/BilderGitOnline/Fork1.png[]

Durch Drücken dieses Knopfes öffnet sich ein weiteres Dialogfenster, welches verschiedene Optionen anbietet.

.Fork-Dialog
image::bilder/BilderGitOnline/Fork2.png[]

Durch Anlegen des Forks öffnet sich die entsprechende Seite des neuen Repositories. Damit sind Sie fortan Besitzer einer entsprechenden Kopie des Originalrepositories. Updates dessen werden nicht zu Ihnen weitergespielt und Ihre Änderungen werden nicht an das Originalrepository weitergegeben.

== Herunterladen von Repositories / einzelnen Branches
Möchten Sie Ihr Repository von Ihrer lokalen Maschine aus herunterladen, so hängen die nächsten Schritte massiv von Ihrer benutzten Entwicklungs- / Git-Umgebung ab. Zentral festzuhalten gilt, dass Sie den Zugriffsschlüssel auf der Projektseite direkt über der Dateiliste am rechten Rand abfragen können:

.Access-Link
image::bilder/BilderGitOnline/Access1.png[]

Die Wahl zwischen HTTPS oder SSH sollte für die meisten Benutzer auf HTTPS fallen, wenn sie sich nicht über einen entsprechenden SSH-Schlüssel authentifizieren wollen. Das Erstellen und Verwenden von SSH-Schlüsseln würde den Rahmen dieser Dokumentation allerdings sprengen.

== Löschen von Repositories
Möchten Sie ein Repository löschen geschieht dies auf der "Einstellungen"-Seite des Repositories ganz unten. Dies ist endgültig! Folgen Sie hier den Anweisungen des Dialogfensters.

.Löschen-Dialog
image::bilder/BilderGitOnline/Loeschen.png[]

Im Anschluss finden Sie oben in der Mitte des neuen Fensters die Meldung "Das Repository wurde gelöscht." wenn der Vorgang erfolgreich war.