GitHub – Eine praktische Einführung
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Anke Lederer. GitHub – Eine praktische Einführung
GitHub – Eine praktische Einführung
Inhalt
Vorwort
Ist dieses Buch das richtige für mich?
Für wen ist dieses Buch nicht geeignet?
Der Leser oder die Leserin?
Wie ist dieses Buch zu lesen?
Konventionen in diesem Buch
Erklärbärbox
Danksagung
KAPITEL 1. Was ist GitHub, und wofür brauche ich es?
Open Source
Was bietet GitHub?
Einsatzgebiete von GitHub
Git, GitHub, GitLab – alles das Gleiche?
Namensgebung GitHub
Wie ich mein erstes fremdes Projekt unterstützt habe
Mit welchen Kosten muss ich rechnen?
Single Sign-on
KAPITEL 2. GitHub – Wir verschaffen uns einen Überblick
Das GitHub-Logo – Mona Lisa Octocat
Anwendungsfälle für GitHub (oder: Was will ich da eigentlich?)
Informationen finden (interessierte Anwenderin)
README.md
Dateien finden und herunterladen (Hilfe suchender Programmierer)
KAPITEL 3. Die Basis: Das erste eigene GitHub-Projekt
Account anlegen
Standardprofilbild – Identicon
Account schützen
2-Faktor-Authentifizierung
Unsichtbar werden – die eigene Mailadresse schützen
Das erste eigene Repository anlegen
Eine inhaltliche Änderung am Projekt vornehmen
Commit-Nachrichten
SLOC
Den ersten Ablauf üben – Issue anlegen und bearbeiten
Einen Issue anlegen
Den Issue bearbeiten und schließen
Commit-ID
Issues mithilfe von Schlüsselwörtern automatisch schließen
Ein bestehendes Repository löschen
Ein bestehendes Projekt hochladen
KAPITEL 4. Die wichtigsten Grundlagen für eigene GitHub-Projekte
Den zweiten Ablauf üben – Branches, Pull-Requests und Merges
Branch – unterschiedliche Handlungsstränge aufmachen
Warum Branches sinnvoll sein könnten
Änderungen auf einem Branch vornehmen
Die GitHub-Metriken »behind« und »commits ahead«
Pull-Request – Änderungen in Branches aufzeigen
Continuous Integration
Merge – Änderungen aus Pull-Requests übernehmen
Branches im Blick behalten – der Network Graph
Standardarbeitsablauf für den GitHub Flow
Reviews durchführen
Reviewer manuell anfordern
Reviews automatisch zuweisen – CODEOWNERS
Gutes schützen – Protected Branches
Genehmigung vorschreiben – Required Reviews
Genehmigung automatisch zurückziehen
Genehmigung durch Eigentümer*innen vorschreiben
Den Laden sauber halten – Vorlagen, Diskussionen eingrenzen
Vorlagen für Issues
Vorlagen für Pull-Requests
Für Ruhe sorgen (Teil 1) – Locking Conversations
Für Ruhe sorgen (Teil 2) – Interaction Limits
KAPITEL 5. Rechtliches – Open-Source-Lizenzen
Warum Lizenzierung wichtig ist
Lizenz Marke Eigenbau
Lizenz selber bauen – amüsantes Fallbeispiel JSLint
Welche Lizenzen gibt es?
Softwarecode
Proprietäre Software
Copyleft
Open-Source-Lizenzen aus Deutschland
Musik, Bilder und Texte
Was wählen andere als Lizenz?
Welche Lizenz ist die richtige für mich?
Wo finde ich mehr Infos und Unterstützung zu Lizenzen?
Unterstützung bei der Wahl der richtigen Lizenz
Tools und Informationen zu/über Lizenzen
Eine Lizenz zu einem Repository hinzufügen
KAPITEL 6. Unterstützung für GitHub-Projekte finden
Wie bringt man Leute dazu, beim eigenen Projekt mitzumachen?
Dein Projekt auffindbar machen
Besser gefunden werden auf GitHub: Topics
Andere Plattformen
Eigene Website
Dein Projekt anschaulich beschreiben
Description
README.md
Über das sinnvolle Beschreiben von Dingen
Code of Conduct
Contributing
License, Issue-Template und Pull-Request-Template
Weitere Tipps, um dein Projekt attraktiv zu machen
Dein Projekt bekannt machen
Namenswahl
Projekt aktiv bewerben
Dein Projekt (gegebenenfalls) zugänglich machen (Rechtevergabe)
Worum es geht – die Rechte
Wie es geht – Rechtevergabe
Ein Projekt finden, das du unterstützen möchtest
Wer bin ich und, wenn ja, wie viele?32
Fremdes Projekt suchen
Suche nach konkretem Thema – Suche und Topics
Suche über Stöbern – Explore und Trending
Suche über Labels
Suche in einem konkreten Projekt – good first issues
Suche über andere Anbieter
Suche über direkten Kontakt mit Maintainerinnen
Fremdes Projekt begutachten
Pulse – Lebt das Projekt noch?
Projekt über Health Files bewerten
Projekt über Issues und Pull-Requests bewerten
Fremdes Projekt unterstützen – Fork
Editieren in einem fremden Projekt – Fork
Fork und Pull-Requests
Loslegen 2 – anders forken
Ein geforktes Projekt aktuell halten
KAPITEL 7. Ein Projekt lokal mit Git verwalten
Warum GitHub allein manchmal nicht ausreicht
Git, was ist das? – Eine kurze Einführung
Versionsverwaltung
Über semantische Versionierung
Dezentral
Exkurs: Umgang mit der Konsole
Git installieren und einrichten
Exkurs: Die Konsole für Git einrichten am Beispiel Bash (für Fortgeschrittene)
Shell
Drei Schritte, um einen Branch farbig anzuzeigen
Anpassen der .bashrc
Textformatierung des Prompts
Tiefer einsteigen
Wie Git tickt – Staging
Staging-Bereich
Standardarbeitsablauf mit Git
Das eigene Projekt mit Git verwalten
Das Arbeitsverzeichnis initialisieren
Eine neue Datei ins lokale Repository einfügen
Eine Datei im lokalen Repository ändern
Dateien von der lokalen Versionsverwaltung ausschließen
Branching in Git
Branches erzeugen
Zwischen Branches wechseln
Binärdateien mit Git verwalten
Unterschied Text- und Binärdatei
Installation von Git LFS
Git Hooks
Git LFS einrichten
Sich weiter schlaumachen über Git
Oldschool: Bücher
Neumodischer Kram: Internet
KAPITEL 8. Git und GitHub im Zusammenspiel
Szenario 1: Lokales Git-Projekt auf GitHub hochladen
Lokal ein Git-Repository mit einer Datei anlegen
Leeres Repository auf GitHub anlegen
Das Git- mit dem GitHub-Repository verknüpfen
Git-Repository auf GitHub hochladen (pushen)
Lokal Änderungen vornehmen und diese auf GitHub hochladen
Standardarbeitsabläufe für Szenario 1
Szenario 2: Projekt auf GitHub lokal zu Git holen
Ein neues GitHub-Repository mit einer Datei erstellen
Das GitHub-Repo mittels Git lokal klonen
Das GitHub-Repo anpassen und die Änderung in die lokale Git-Arbeitsumgebung holen
detached HEAD – ein losgelöster Kopf
Standardarbeitsabläufe für Szenario 2
Szenario 3: Geforktes Projekt auf GitHub lokal zu Git holen
Wir forken auf GitHub ein Projekt
Wir klonen den Fork lokal mittels Git
Wir legen in Git ein zweites Remote-Repository fest
Wir aktualisieren den lokalen Klon aus dem Originalprojekt
Standardarbeitsabläufe für Szenario 3
Szenario 4: Lokale Änderung an Originalprojekt übergeben
Wir richten alles so ein, wie in Szenario 3 beschrieben
Wir editieren lokal eine Datei und pushen sie zum Fork auf GitHub
Wir erstellen einen Pull-Request aus dem Fork an das Originalprojekt
Wir üben uns in Geduld und warten auf das Mergen des Pull-Requests
Standardarbeitsabläufe für Szenario 4
Merge-Konflikte lösen
Wie entstehen Merge-Konflikte?
Konflikte auflösen mit GitHub (Webeditor)
Konflikte auflösen mit Git (Konsole)
Das Git-Mergetool
Konflikt durch gleichzeitiges Editieren
Konflikt durch Löschen einer Datei
Log-in-Erleichterungen bei HTTPS
Zugangsdaten auf Zeit zwischenspeichern (meine Empfehlung)
Zugangsdaten dauerhaft speichern
KAPITEL 9. Der GitHub Marketplace – Actions und Apps
Was können Actions und Apps?
Eine App aus dem Marketplace installieren
App installieren
App anpassen
Eine Action aus dem Marketplace installieren
Action installieren
YAML
Action ausprobieren und feinjustieren
Hinter den Kulissen einer Action
Eine eigene Action erstellen (für Fortgeschrittene)
Einige grundlegende Begriffe
Anatomie einer Action
Unseren Anwendungsfall einrichten
Node.js
Unseren Anwendungsfall verstehen
.github/workflows/issuelabeler.yml
.github/actions/issuelabeler/action.yml
.github/actions/issuelabeler/index.js
Passwörter geheim halten – GitHub Secrets
KAPITEL 10. Pimp my Repo – Weitere GitHub-Features
Websites aus GitHub generieren (GitHub Pages)
GitHub Pages einrichten
GitHub Pages verschönern mit dem Theme Chooser
Jekyll
GitHub Pages ausbauen – die Navigation einrichten
Weitere Seiten und die Navigation erstellen
Die Navigation einbinden
Die Navigation debuggen
Cooles Gimmick: 404-Seite erzeugen
GitHub Pages – weitere Themes
Remote Themes
Theme-Repositories forken/klonen
Eigene Themes bauen
Angriff der Klone – Repo-Templates anlegen
Eigene Projektboards – mit Projects den Überblick behalten
Grundlegendes zu Projektboards
Definition of done
Ein eigenes Projektboard erstellen
Projektboard automatisieren
KAPITEL 11. Nützliches und Kurioses rund um GitHub
GitHub auf der Kommandozeile
GitHub CLI
Hub
GitHub-API (für Fortgeschrittene)
cURL
Sich mit GitHub weiter auseinandersetzen
GitHub Learning Lab
Weitere Ressourcen zum Recherchieren
Editoren und Handy-Apps
Klein und schlank – Atom
Visual Studio Code
Für Website-Gestalter – Brackets
GitHub Desktop
GitHub auf dem Handy – GitHub Mobile
GitHub auf dem Handy – Octodroid
Nützliches und kleine Spielereien
Übersetzungsmanagementtools – crowdin und Weblate
Zeigen, wo man steht – Badges
Sag es mit einem Bild – Gitmoji
Ideen für eigene Repositories – ohne programmieren
ANHANG A. Gängige Git-Befehle zum Nachschlagen
ANHANG B. Quellcode
Datei .github/workflows/issuelabeler.yml
Datei .github/actions/issuelabeler/action.yml
Datei .github/actions/issuelabeler/index.js
ANHANG C. Glossar (oder: Was bedeutet noch mal …?) A
B
C
E
F
I
J
K
L
M
P
R
S
T
V
W
Fußnoten. Vorwort
Kapitel 1: Was ist GitHub, und wofür brauche ich es?
Kapitel 2: GitHub – Wir verschaffen uns einen Überblick
Kapitel 3: Die Basis: Das erste eigene GitHub-Projekt
Kapitel 4: Die wichtigsten Grundlagen für eigene GitHub-Projekte
KAPITEL 5: Rechtliches – Open-Source-Lizenzen
Kapitel 6: Unterstützung für GitHub-Projekte finden
Kapitel 7: Ein Projekt lokal mit Git verwalten
Kapitel 8: Git und GitHub im Zusammenspiel
Kapitel 9: Der GitHub Marketplace – Actions und Apps
Kapitel 10: Pimp my Repo – Weitere GitHub-Features
Kapitel 11: Nützliches und Kurioses rund um GitHub
Index. Symbole
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
Y
Über die Autorin
Kolophon
Отрывок из книги
Von den ersten Schritten bis zu eigenen GitHub Actions
Anke Lederer
.....
Branches erzeugen
Zwischen Branches wechseln
.....