Einführung in GitHub
GitHub ist die größte Open-Source-Community der Welt. GitHub gehört Microsoft. GitHub ist eine Entwicklungsplattform, die durch Ihre Arbeitsmethoden inspiriert ist.
Sie können Code hosten und überprüfen, Projekte verwalten und Software zusammen mit 40 Millionen Entwicklern erstellen – von Open Source bis geschäftsintern.
GitHub ist ein Hostingdienst für Git-Repositorys, der diese um viele Funktionen erweitert.
Git selbst ist zwar ein Befehlszeilentool, aber GitHub bietet auch eine webbasierte grafische Benutzeroberfläche.
Außerdem bietet es Zugriffssteuerung und verschiedene Funktionen für die Zusammenarbeit, z. B. Wikis und wichtige Tools zur Aufgabenverwaltung für jedes Projekt.
Welche Hauptvorteile bietet die Verwendung von GitHub? Fast jedes Open-Source-Projekt verwendet GitHub für die Projektverwaltung.
Die Verwendung von GitHub ist kostenlos, wenn es sich bei Ihrem Projekt um ein Open-Source-Projekt handelt. Es bietet ein Wiki und eine Problemverfolgung, die es Ihnen einfacher machen, eine detailliertere Dokumentation zu erstellen und Feedback zu Ihrem Projekt zu erhalten.
Welche Features bietet GitHub?
Automatisieren von Code zur Cloud: Beschleunigen Sie Ihren Produktionscode, und vereinfachen Sie Ihren Workflow mit GitHub-Paketen und integriertem CI/CD mithilfe von GitHub Actions.
- Automatisieren von Workflows: Führen Sie die Erstellung, Tests, Bereitstellungen und CI/CD so aus, wie Sie es möchten, und an dem Ort, an dem Sie Ihren Code auch verwalten. Lösen Sie Aktionen von jedem GitHub-Ereignis in beliebigen verfügbaren APIs aus. Erstellen Sie Ihre Aktionen in Ihrer bevorzugten Programmiersprache, oder wählen Sie aus Tausenden von Workflows und Aktionen aus, die von der Community erstellt wurden.
- Lokale Pakete mit Ihrem Code: Verwenden Sie Actions, um neue Paketversionen automatisch in GitHub Packages zu veröffentlichen. Installieren Sie in Ihren CI/CD-Workflows Pakete und Images, die auf GitHub Packages oder in Ihrer bevorzugten Paketregistrierung gehostet werden. Der Dienst ist für Open Source immer kostenlos, und die Datenübertragung innerhalb von Actions ist für alle unbegrenzt.
Gemeinsamer Schutz von Software: GitHub spielt eine wichtige Rolle beim Schutz von Codes auf der ganzen Welt – Entwickler, Maintainer, Forscher und Sicherheitsteams. Auf GitHub können Entwicklungsteams von jedem Ort aus zusammenarbeiten, um die Software-Lieferkette der Welt von einem Fork bis zum Abschluss zu schützen.
- Warnungen zu Sicherheitsrisiken in Ihrem Code: GitHub überprüft ständig Sicherheitsratgeber für gängige Sprachen. Außerdem sendet der Dienst Sicherheitswarnungen mit Details an die Maintainer der betroffenen Repositorys, um Risiken zu minimieren.
- Automatische Updates von Sicherheitsrisiken: GitHub überwacht Ihre Projektabhängigkeiten und erstellt automatisch Pull Requests, um Abhängigkeiten auf die Mindestversion zu aktualisieren, mit der bekannte Sicherheitsrisiken behoben werden.
- CVEs immer einen Schritt voraus: Bleiben Sie auf dem Laufenden bei CVEs (Common Vulnerabilities and Exposures), und erfahren Sie mit GitHub Advisory Database, welche Auswirkungen diese auf Sie haben.
- Sicherheitsrisiken erkennen, die anderen Tools entgehen: CodeQL ist die branchenführende Engine für die semantische Codeanalyse. Bei der revolutionären Herangehensweise von GitHub wird Code als Daten behandelt, um Sicherheitsrisiken schneller zu identifizieren.
- Beseitigen von Varianten: Machen Sie denselben Fehler niemals zweimal. Die proaktive Überprüfung auf Sicherheitsrisiken verhindert, dass es Sicherheitsrisiken jemals bis in die Produktion schaffen.
- Tokenschutz: Haben Sie versehentlich ein Token in ein öffentliches Repository committet? GitHub hilft Ihnen. Mit Unterstützung von 20 Dienstanbietern unternimmt GitHub alle Schritte, um Ihre Sicherheit zu gewährleisten.
Nahtlose Code Reviews: Code Reviews stellen die sicherste Möglichkeit dar, besseren Code zu erstellen, und sie bilden eine der fundamentalen Säulen der Funktionsweise von GitHub. Integrierte Reviewtools machen den Code Review zu einem festen Bestandteil Ihrer Teamabläufe.
- Änderungsvorschläge: Besserer Code beginnt mit einem Pull Request, einer offenen Diskussion über Änderungen, bei der Sie Ihre Ideen besprechen, Aufgaben zuweisen, Details diskutieren und Reviews durchführen können.
- Anfordern von Reviews: Auf der anderen Seite eines Reviews können Sie diese auch von Ihren Kolleg*innen anfordern, um detailliertes Feedback zu erhalten.
- Sofortige Unterschiede: Reviews können schneller ausgeführt werden, wenn genau bekannt ist, was geändert wird. In Diffs werden die Versionen Ihres Quellcodes miteinander verglichen und neue, bearbeitete oder gelöschte Teile hervorgehoben.
- Kommentar im Kontext: Diskussionen werden in Kommentarthreads direkt in Ihrem Code geführt. Bündeln Sie Kommentare zu einem Beitrag oder antworten Sie jemandem, der gerade eine Unterhaltung beginnen möchte.
- Deutliches Feedback: Ihre Teamkollegen sollten nicht zu viel überlegen müssen, was ein Daumen-hoch-Emoji bedeuten könnte. Geben Sie an, ob Ihre Kommentare erforderliche Änderungen oder nur allgemeine Vorschläge sind.
- Schutz von Branches: Mergen Sie nur den Code mit der höchsten Qualität. Sie können Repositorys so konfigurieren, dass Statusprüfungen erforderlich sind, um menschliche Fehler und den Verwaltungsaufwand zu reduzieren.
Sämtlicher Code und Ihre Dokumentation an einem Ort: Hunderte von Millionen privater, öffentlicher und Open-Source-Repositorys werden auf GitHub gehostet. Jedes Repository verfügt über Tools, die Ihrem Host bei der Versionskontrolle und Veröffentlichung Ihres Codes und der Dokumentation helfen.
- Programmieren am Ort der Zusammenarbeit: Mit Repositorys bleibt Ihr Code an einem Ort, und Ihre Teams können bei der Zusammenarbeit die ihnen vertrauten Tools verwenden, selbst wenn Sie mit großen Dateien in Git LFS arbeiten. Sie können so viele Projekte wie möglich erstellen oder importieren, mit unbegrenzten privaten Repositorys für Einzelpersonen und Gruppen.
- Dokumentation direkt beim Code: Hosten Sie Ihre Dokumentation mit GitHub Pages direkt in Ihren Repositorys. Verwenden Sie Jekyll als Generator für statische Websites, und veröffentlichen Sie Ihre Dokumentation aus dem Ordner „/docs“ in Ihrem Mainbranch.
Verwalten Ihrer Ideen: Koordinieren Sie mit GitHub-Projektverwaltungstools Ihre Ideen frühzeitig, bleiben Sie fokussiert, und schaffen Sie mehr.
- Überblick über Projekte: Erhalten Sie Einblicke in alles, was in Ihrem Projekt passiert, und legen Sie mit Projekten und Taskboards direkt bei Ihrem Code die Ausrichtung der Arbeit Ihres Teams fest.
- Nachverfolgen und Zuweisen von Aufgaben: Issues helfen Ihnen beim Identifizieren, Zuweisen und Nachverfolgen von Aufgaben in Ihrem Team. Sie können ein Issue anlegen, um einen Fehler zu verfolgen, eine Idee mit einem @mention zu diskutieren oder mit der Verteilung von Arbeit zu beginnen.
Menschliche Seite der Softwareentwicklung: Beim Entwickeln von Software geht es mehr um das Management von Teams und Communitys als um das Programmieren. Ob eine Gruppe von zwei oder 2.000 Personen, GitHub bietet die Unterstützung, die Ihre Mitarbeiter benötigen.
- Verwalten und Vergrößern von Teams: Unterstützen Sie Personen bei der Organisation von GitHub-Teams, dem Höherstufen auf Administratorrollen und der Feinabstimmung von Berechtigungen bei geschachtelten Teams.
- Unterhaltungen: Moderationstools wie z. B. Sperren von Issues und Pull Requests helfen Ihrem Team, sich besser auf den Code zu konzentrieren. Und wenn Sie ein Open-Source-Projekt verwalten, reduziert das Blockieren von Benutzern Nebengeräusche und stellt sicher, dass Unterhaltungen produktiv sind.
- Festlegen von Communityrichtlinien: Legen Sie Rollen und Erwartungen fest, ohne von Grund auf neu zu beginnen. Passen Sie die Standardverhaltensregeln optimal an Ihr Projekt an. Wählen Sie dann direkt in Ihrem Repository eine vorab erstellte Lizenz aus.
GitHub bietet hervorragende Lernressourcen zur eigenen Plattform. Hier finden Sie alles von Git-Einführungsschulungen über ausführliche Beschreibungen der Veröffentlichung statischer Seiten in GitHub bis zu DevOps auf GitHub.