Tutorial: Grundlagen von GitHub - Fork, Pull Request und Co.
4.5 (146 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,084 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Tutorial: Grundlagen von GitHub - Fork, Pull Request und Co. to your Wishlist.

Add to Wishlist

Tutorial: Grundlagen von GitHub - Fork, Pull Request und Co.

Egal ob du Entwickler, Designer, Dozent oder Manager bist, hier lernst du die Grundlagen von GitHub auf Deutsch!
4.5 (146 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,084 students enrolled
Created by Jan Suchotzki
Last updated 11/2016
German
Price: Free
Includes:
  • 1 hour on-demand video
  • 3 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Issues erstellen an GitHub Projekten
  • Forks von Projekten wie MonoGame, Swift oder dotnet erstellen
  • Pull Requests erstellen und abgeben
  • Die grundsätzliche Idee von GitHub erklären
View Curriculum
Requirements
  • Um die Übungen zu machen brauchst du einen GitHub-Account
  • Ein Grundverständnis von Versionsverwaltung und Git solltest du mitbringen
Description

NEU: Inklusive Übungen und deutschsprachiger Community - GitHub ist einfach (und) genial!

"Als internet-affiner Mensch ist es kaum mehr möglich, Software runterzuladen, ohne dabei früher oder später einmal über GitHub zu stolpern." (Moritz Stückler, 20.04.2016, t3n)

Was aber bedeuten all diese komischen Begriffe und wie kannst du GitHub für dich gut nutzen? Das erfährst du in diesem kostenlosen Tutorial über GitHub.

Who is the target audience?
  • Entwickler die sich zum ersten Mal mit GitHub beschäftigen
  • Designer, Dozenten, Lehrer, ... die nicht wissen was GitHub ist und wie es benutzt wird
  • Wenn du GitHub bereits kennst, wirst du hier NICHT viel lernen können
Students Who Viewed This Course Also Viewed
Curriculum For This Course
+
Theorie...
4 Lectures 21:39

Eines der Kernelemente auf GitHub ist das Verzeichnis (engl. Repository). Das kannst du dir so wie ein Projekt vorstellen. Ein solches Projekt besteht aus den folgenden Funktionalitäten, die GitHub anbietet:

  • Code-Hosting - Dieses ist die erste Kernfunktionalität von GitHub. Es geht darum ein Verzeichnis für Quellcode bereit zu stellen. Ähnliches kannst du auch realisieren, wenn du deinen Quellcode in deine DropBox lädst.
  • Versionsverwaltung - Dieses ist die zweite Kernfunktionalität von GitHub. Dein Quellcode-Verzeichnis wird per Git verwaltet und du kannst darauf per Git zugreifen. Damit hast du einen wesentlichen Vorteil gegenüber der Lösung deinen Quellcode einfach auf DropBox zu kopieren. Die Versionsverwaltung umschließt komplett das Code-Hosting. Du hast also keine Möglichkeit Dateien ohne eine Versionierung auf GitHub zu speichern.
  • Issue Tracking - Ein weiterer wichtiger Bestandteil eines GitHub-Verzeichnisses ist das Erstellen und Verwalten von Issues. Diese Funktionalität ist entscheidend für das sogenannte "Social Coding". Allerdings kannst du sie für jedes GitHub-Verzeichnis ausschalten.
  • Wiki - Jedes Projekt auf GitHub kann sich ein Wiki einrichten. Dabei handelt es sich wieder um ein Git-Verzeichnis. Allerdings ist dieses separat vom Quellcode. Auch das Wiki ist nur optional für dein GitHub-Projekt.
  • Project-Pages - GitHub bietet mit den GitHub-Pages eine einfache Möglichkeit eine Webseite zu erstellen. Zu jedem GitHub-Projekt kannst du eine eigene Webseite erstellen. Der entsprechende Inhalt dafür liegt auch in deinem GitHub-Verzeichnis. Genau wie das Wiki und die Issues, sind die Project-Pages optional!

Du kannst für jedes Projekt entscheiden ob es öffentlich sichtbar ist, oder nur für dich bzw. deine Organisation / Teams deiner Organisation. Dieses ist auch einer der Hauptunterschiede zu anderen Plattformen wie BitBucket oder Visual Studio Team Services. Die beiden letzteren bieten nur private Projekte an. Auf GitHub findest du mittlerweile jedoch fast jedes bekanntes (und unbekanntes) Open-Source-Projekt. Da öffentliche Projekte auf GitHub kostenlos sind, ist es wohl ein entscheidender Faktor warum GitHub so bekannt ist.

Wenn es um private Projekte geht, dann haben andere Plattformen schon teilweise wesentlich umfangreichere Möglichkeiten. So hat beispielsweise Microsoft in Visual Studio Team Services eine umfangreiche Projektmanagementlösung integriert die nahtlos aus Visual Studio bedient werden kann. Es ist daher in diesem Bereich die mächtigere Lösung. Allerdings ist das auch für viele Projekte eine totale Überforderung.

Zusammenfassung

GitHub wird häufig als ein Verzeichnis von Open-Source-Projekten angesehen. Jeder kann sein GitHub-Verzeichnis (häufig auch Projekt genannt) öffentlich sichtbar machen, oder auch als privates Projekt führen. Funktionalitäten wie Issues, Wikis und Project-Pages sind wichtige Elemente für das von GitHub geprägte "Social Coding". Der Zugriff auf Projekte wird über Zugriffsrechte verwaltet die bei GitHub hauptsächlich über Organisationen und Teams definiert werden.

Was ist GitHub? Eine Einleitung in die wichtigsten Funktionen
08:19

Auf GitHub werden Issues für ziemlich viel benutzt. Es ist der Mechanismus um mit den Entwicklern eines Projektes in Kontakt zu treten. Dabei kannst du grundsätzlich ein Issue verwenden um

  • eine Frage zu stellen
  • ein Problem zu berichten
  • einen Fehler zu berichten

Du solltest allerdings bedenken, dass ein Issue immer Arbeit für die Entwickler bedeutet. In kleinen Projekten kann es vorkommen, dass es länger dauert bis du eine Antwort bekommst, weil der einzige Entwickler vielleicht gerade Urlaub macht. In großen Projekten können sehr viele Issues an einem Tag gestellt werden. Auch hier wollen die Leute etwas anderes tun als nur Fragen zu beantworten.

Was ist ein Issue?
05:35

Ein Fork ist quasi eine Kopie eines bestehenden Verzeichnisses. Dies wird hauptsächlich aus den folgenden Gründen gemacht:

  • Du möchtest etwas für dich ändern, aber nicht von vorne anfangen
  • Du möchtest etwas zu einem Projekt beisteuern

Dabei ist die grundsätzliche Idee, dass du ein paar Modifikationen an einem Projekt machen möchtest. So habe ich beispielsweise meine Webseite auf einer bestehenden Codebasis angefangen. Das schöne dabei ist, dass ich Änderungen die nach dem Fork am Ursprungsprojekt gemacht wurden in mein geändertes Projekt integrieren kann. In meinem Fork habe ich allerdings die Kontrolle wann ich was machen möchte.

Wenn du zu einem bestehenden Projekt etwas beisteuern möchtest, dann erstellst du einen Fork eigentlich nur um diese Änderung zu machen und dann in das Ursprungsprojekt zurück zuführen.

Wichtig ist, dass du die Zusammenhänge zwischen den Verzeichnissen lokal, origin und upstream verstehst.

Was ist ein Fork?
02:59

Öffentliche Projekte auf GitHub sind üblicherweise so aufgebaut, dass es einen oder ein Team von Entwicklern gibt und diese können Änderung an dem Projekt vornehmen. Um nun aber der gesamten Community die Möglichkeit zu geben einen Beitrag zu machen, wurden Pull Requests eingeführt.

Dabei handelt es sich letztlich nur um eine Mail, in der jemand aus der Community darum bittet seine Änderungen in das vom Entwickler gepflegte Git-Verzeichnis zu integrieren. Über diesen "Umweg" wird sichergestellt, dass der verantwortliche Entwickler bzw. das Team die letzte Entscheidung über Änderungen hat.

Was ist ein Pull Request?
04:46
+
... Praxis ...
5 Lectures 21:11

Wenn du dich mit einem Projekt beschäftigst und dort aktiv werden möchtest, dann sind Issues ein guter Einstieg. In dieser Lektion erfährst du, wie du ein Issue erstellst. Dabei gehe ich auf folgende Punkte ein:

  • Verwende die Projektsprache!
  • Suche in den bereits geschlossenen Issues
  • Der Titel ist wichtig (auch für später)
  • @ - Projektmitglieder ansprechen
  • # - Referenz auf andere Issues / Pull Requests
  • Du kannst dem Bearbeiter eines Issues Zeit ersparen, wenn du einige Basisinformationen zur Verfügung stellst.
  • Gerade bei größeren Projekten gibt es häufig eine Vorlage was in einem Issue enthalten sein sollt
Ein Issue für ein "fremdes" Projekt erstellen
07:37

ÜBUNG: Erstelle ein Issue
00:38

In dieser Lektion zeige ich dir mit welchem Button du einen Fork erstellen kannst und wie du erkennst in welchem Projekt du dich gerade befindest.

Einen Fork erstellen
03:37

Es ist letztlich nur ein Button, den du bedienen musst: "Compare & Pull". Konzeptionell und auch Inhaltlich steckt jedoch noch einiges mehr dahinter. Was genau erkläre ich dir in dieser Lektion.

Einen Pull Request erstellen
08:34

ÜBUNG: Erstelle einen Pull Request
00:45
+
... und noch viel mehr
3 Lectures 11:45

Im Rahmen einer persönlichen Challenge habe ich im Sommer 2016 täglich Videos über GitHub produziert. Diese Erfahrung - den Fortschritt den ich gemacht habe als ich mich täglich mit GitHub beschäftigt habe - war grandios. Allerdings weiß ich aus eigener Erfahrung wie schwer es ist so eine Aktivität als Gewohnheit zu etablieren.

Daher habe ich im Rahmen von #DailyGitHub den "virtuellen Arschtritt" eingeführt. Wenn du also auch Interesse hast dein Projekt auf GitHub täglich weiterzubringen, dann helfe ich dir dabei. Ich kann das Projekt zwar nicht für dich entwickeln, aber ich kann dir helfen eine Gewohnheit zu etablieren.

In dieser Lektion zeige ich dir wie es geht und warum du es unbedingt ausprobieren solltest.

Der virtuelle Arschtritt - Wenn du wirklich was bewegen willst!
02:46

Einführung in GitHub Pages - Statische Webseiten ganz einfach
07:46

BONUS: Weitere Kurse über Softwareentwicklung von mir!
01:13
About the Instructor
Jan Suchotzki
4.6 Average rating
312 Reviews
2,587 Students
3 Courses
Software & Technologie Geek

Die Leidenschaft meine Softwareentwicklung zu verbessern und neue Technologien zu lernen treiben mich jeden Morgen aus dem Bett! Seit über 15 Jahren entwickele ich Software im Kontext von intelligenten technischen Systemen. Dabei liegt mein Fokus auf der Entwicklung von Desktopanwendung im .NET-Umfeld und der Programmierung von Mikrokontrollern in C. Neben der eigentlichen Programmierung ist mir ein ganzheitlicher Blick auf das Thema Softwareentwicklung sehr wichtig. So habe ich bereits als Tester, Entwickler, Softwarearchitekt, Projektleiter und Berater für Entwicklungsprozesse in verschieden großen Entwicklungsprojekten gearbeitet.

Seit einigen Jahren beschäftige ich mich mit dem Thema Lernen im Beruf. Die Teilnahme an Fortbildungen und das Lernen mit Büchern und Lerngruppen haben mich nicht zufriedengestellt. Ich bin der Ansicht, dass es sowohl für berufstätige Entwickler, wie auch Neulinge in der Softwareentwicklung einen besseren Weg zum Lernen geben muss. Daher entwickle ich nun Konzepte und Kurse um das nebenberufliche Lernen effektiver zu machen.