Github in ReplIT (D)

Versionskontrolle
(mit GitHub & ReplIT)

Antje Roestenburg
antje@roestenburg.com
1 / 14
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolHBOMBOhavo, vwoLeerjaar 4-6Studiejaar 1

In deze les zitten 14 slides, met tekstslides.

Onderdelen in deze les

Versionskontrolle
(mit GitHub & ReplIT)

Antje Roestenburg
antje@roestenburg.com

Slide 1 - Tekstslide

Google Docs
Ihr arbeitet gemeinsam an einem Dokument in der Cloud.

Änderungen sind für alle sichtbar.

Am Ende lädt jemand das Dokument als PDF herunter oder druckt es aus und reicht es ein.
Beispiel: 
Ihr schreibt gemeinsam einen Aufsatz und seht sofort, wenn jemand einen neuen Absatz hinzufügt.

Slide 2 - Tekstslide

Code teilen
Ihr könnt nicht gleichzeitig am selben Softwareprojekt arbeiten, denn eure Änderungen könnten den Code der anderen kaputt machen.

=> Jeder arbeitet mit einer eigenen Kopie, die später zusammengeführt wird.
Beispiel:
Ihr programmiert ein Spiel. 
Einer arbeitet an der Spiellogik, der andere am Design. 
Ihr fügt eure Änderungen später zusammen.

Slide 3 - Tekstslide

VCS (Versionskontrollsystem)
Ein Versionskontrollsystem speichert verschiedene Versionen einer Datei.
Ihr könnt
  • Alte Versionen anzeigen und wiederherstellen.
  • Anderen Zugriff gewähren.
  • Gemeinsam bearbeiten oder Vorschläge akzeptieren.
  • Sehen, wer welche Änderungen gemacht hat.
Beispiel:
Ihr habt eine Datei, die ihr immer wieder bearbeitet. Mit einem VCS könnt ihr sehen, wie die Datei vor einer Woche aussah und diese Version wiederherstellen.

Slide 4 - Tekstslide

Zusammenarbeiten
Git ist ein Programm, das Entwicklern hilft, besser zusammenzuarbeiten.
Beispiel:
Ihr arbeitet an einem Projekt und könnt sehen, wer welche Teile des Codes geschrieben hat und wann.

Slide 5 - Tekstslide

Git Versionskontrolle
  • Ihr erstellt  Momentaufnahmen
    (Commitseiner Mappe / Projekt.
  • Jeder Commit basiert auf den vorherigen und enthält nur die Änderungen.
  • Jeder Commit enthält eine Beschreibung und den Namen des Autors.

Slide 6 - Tekstslide

Graph
  • Alle Commits zusammen bilden einen Graph.
  • Commits können zusammen geführt (gemergedwerden  
  • Teile des Graph können mit anderen geteilt werden (remotes)
Beispiel:
Ihr könnt zwei Versionen eines Spiels zusammen führen, um die besten Teile beider Versionen zu kombinieren.

Slide 7 - Tekstslide

Code veröffentlichen
Git-Repository kann geteilt werden:
  • GitHub
  • Bitbucket
  • GitLab

Das passiert nicht automatisch:
  • Code pushen: hochladen
  • Code pullen: herunterladen

Slide 8 - Tekstslide

Merge-Konflikt
Wenn zwei Commits dasselbe ändern, gibt es einen Merge-Konflikt.

Merge-Konflikte vermeiden:
  • In separaten Dateien arbeiten. 
  • Absprechen, wer woran arbeitet. 
  • Über Änderungen gut kommunizieren.
  • In branches arbeiten.


Beispiel:
Ihr ändert beide dieselbe Zeile Code. 
Git kann nicht entscheiden, welche Version behalten werden soll, und es entsteht ein Konflikt.

Slide 9 - Tekstslide

Konto erstellen auf:

  • github.com
  • replit.com

Slide 10 - Tekstslide

Konfiguration
  • Benutzername
    git config --global user.name "Name" 
  • E-Mail-Adresse
    git config --global user.email "email@example.com"

Repository einrichten
  • Neues Git-Repository
    git init
  • Klone bestehendes Repository
    git clone [URL]
Grundlegende Befehle
  • Status überprüfen
    git status
  • Datei zufügen
    git add [Datei]
  • Alle Änderungen zufügen
    git add .
  • Zugefügte Änderungen mit einem Kommentar committen
    git commit -m "Kommentar"

Slide 11 - Tekstslide

Branching und Merging
  • Liste aller Branches
    git branch
  • Neuen Branch erstellen
    git branch [Name]
  • zu anderem Branch wechseln
    git checkout [Name]
  • Führe einen Branch mit dem aktuellen Branch zusammen
    git merge [Name]
Remote-Repositories

  • Remote-Repository zufügen
    git remote add origin [URL] 
  • Änderungen in ein Remote-Repository hochladen
    git push -u origin [Name]
  • Führe Änderungen aus einem Remote-Repository zusammen
    git pull

Slide 12 - Tekstslide

Verlauf anzeigen
  • Commit-Verlauf anzeigen
    git log
  • Vereinfachter Commit-Verlauf
    git log --oneline

Änderungen rückgängig machen
  • Datei zurückstufen
    git reset [Datei]
  • Änderungen verwerfen  
    git checkout -- [Datei]
  • Commit rückgängig machen
    git revert [ID]

Slide 13 - Tekstslide

Git ist ein …

  • System um Code zu teilen mit anderen.
  • Methode, um Backups deines Codes zu erstellen.
  • Stück Müll, das nie tut, was ich will
  • verteilte gerichtete azyklische Grafik von Commit-Objekten

All of the above!

Slide 14 - Tekstslide