Skip to content
No description, website, or topics provided.
Java TSQL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Lab-Concurrency1
Lab-Concurrency2
Lab-JDBC-FileIO
Lab-Networking
Lab-Testing
Lab-Tooling
.gitignore
README.adoc

README.adoc

PROG2 Lab Repository

Dieses Repository wird verwendet um die Praktikumsaufgaben in PROG2 auszuteilen und abzugeben.

Jedes Praktikum wird in einem eigenen Unterverzeichnis angelegt, in welchem die Anleitung und benötigten Dateien enthalten sind:

Wie im ersten Praktikum (Tooling) erläutert, arbeiten Sie mit einem persönlichen fork dieses Repositories in Ihrer eigenen GitHub Organisation (mustepet/PROG2-lab-ITxxx) und erledigen die Aufgaben in einem lokalen clone auf Ihrem Rechner.

Für die nachfolgenden Erläuterungen und die Praktika wird folgende Namensgebung für die repositories (remotes) verwendet:

Table 1. Repositories
Name URL Verwendung

upstream

git@github.engineering.zhaw.ch:PROG2/PROG2-lab-ITxxx.git

Das gemeinsame (upstream) Repository Ihrer Klasse

origin

git@github.engineering.zhaw.ch:mustepet/PROG2-lab-ITxxx.git

Ihr persönlicher public fork auf Github

local

~/PROG2_WORKDIR/PROG2-lab-ITxxx

Ihr lokaler clone im Arbeitsverzeichnis auf dem persönlichen Rechner

Wobei mustepet für ihren ZHAW Benutzernamen steht, ITxxx für Ihre Klassenbezeichnung (z.B. IT16aWIN, IT16bWIN oder IT16aZH) und PROG2_WORKDIR für ihr PROG2 Arbeitsverzeichnis auf dem lokalen Rechner.

1. Aktualisieren ihres Repositories

Um ihr eigenes Repository mit neuem Inhalt dieses Klassen-Repositories zu aktualisieren verwenden sie den Integration-Manager Workflow:

# Wechseln Sie ins Arbeitsverzeichnis Ihres lokalen Clone-Repositories
cd ~/PROG2_WORKDIR/PROG2-lab-ITxxx

# Wir gehen davon aus, dass bereits ein remote 'origin' eingerichtet ist, das
# auf Ihr öffentliches Repository auf github verweist. -> evtl. überprüfen mit
git remote -v
# und gegebenenfalls hinzufügen
git remote add origin git@github.engineering.zhaw.ch:mustepet/PROG2-lab-ITxxx

# remote für 'upstream' Klassen-Repository einrichten, falls nicht  vorhanden.
git remote add upstream git@github.engineering.zhaw.ch:PROG2/PROG2-lab-ITxxx.git

# Aktualisierungen aus Klassen-Repository herunterladen
git fetch upstream

# in den 'master' Branch des lokalen Clone-Repository wechseln
git checkout master

# Lokalen master branch aktualisieren, evtl. merge Konflikte beheben
git merge upstream/master

# Aktualisierungen auf eigenes (Public-)Repository pushen
git push origin master

2. Ausführen des Praktikums und abgeben der Lösungen

2.1. Branch für Praktikum erzeugen

Erzeugen Sie für jedes Praktikum einen separaten Branch (z.B. Lab1, Lab2, …​):

# aktuellen Hauptbranch (master) auschecken
git checkout master

# neuen Branch für LabX (Lab1, Lab2, ...) erzeugen und auschecken
git branch Lab3
git checkout Lab3

2.2. Aufgaben lösen und in persönliches Repo committen

Lösen Sie die Aufgaben und commiten Sie regelmässig in den lokalen Lab branch. Schreiben Sie die Lösung von Textfragen direkt als Kommentar in den Code oder eine Text/PDF Datei Loesung.txt/pdf.

2.3. Abgeben der Lösung

Zum Abgeben pushen Sie den Lab Branch zuerst zu Ihrem persönlichen Repository (origin) auf Github (mustepet/PROG2-lab-ITxxx).

# Lab Branch in persönliches Github repo (origin) pushen und tracking einrichten
git push -u origin Lab3

# Sie können den Lab-Branch auch mit dem master branch mergen,
# damit dieser auch up to date ist.
git checkout master
git merge Lab3

Danach senden Sie einen Pull-Request für den Lab-Branch Ihres persönlichen public repos (mustepet/PROG2-lab-ITxxx:Lab3) für Ihren persönlichen Branch im Klassen-Repository (PROG2/PROG2-lab-IT…​:mustepet).

Warning
Pull-Request in den 'master' Branch des Klassen-Repositories (upstream) werden grundsätzlich abgelehnt.
Note
Weitere commits in den Lab-Branch nach dem Erstellen des Pull-Requests werden automatisch zum Pull-Request hinzugefügt, solange dieser noch nicht vom Maintainer akzeptiert wurde.

Besprechen Sie anschliessend die Lösung mit dem Praktikumsbetreuer.

You can’t perform that action at this time.