AKTION: Unterstützung (1-zu-1) auf GitHub bei deinen ersten Projekten für jeden Teilnehmer im Kurs enthalten.
Du kannst auf GitHub üben, lernen, mit anderen Entwicklern in Kontakt kommen, Unterstützung für dein Open Source Projekt aus der Community bekommen und dein Wissen vermarkten. Es ist somit ein Turbo für deine Karriere, deine privaten Softwareentwicklungsprojekte und deine Fähigkeiten im Bereich der professionellen Softwareentwicklung.
AKTION: Unterstützung (1-zu-1) auf GitHub bei deinen ersten Projekten für jeden Teilnehmer im Kurs enthalten.
Du kannst auf GitHub üben, lernen, mit anderen Entwicklern in Kontakt kommen, Unterstützung für dein Open Source Projekt aus der Community bekommen und dein Wissen vermarkten. Es ist somit ein Turbo für deine Karriere, deine privaten Softwareentwicklungsprojekte und deine Fähigkeiten im Bereich der professionellen Softwareentwicklung.
Das wichtigste ist jedoch, dass du es auch einsetzen kannst. Ein gepflegtes GitHub-Projekt und professionelle Issues und Pull Request können dein Ticket für einen neue Job sein. Einige Konzepte und Arbeitsschritte sind auf GitHub allerdings nicht unbedingt intuitiv. Das kommt auch daher, dass GitHub viele Freiheiten lässt.
In diesem Kurs zeige ich dir Schritt für Schritt wie du GitHub professionell verwendest um möglichst schnell zu den gewünschten Ergebnissen zu kommen. Alle Themen erkläre ich dir anhand vieler Beispiele. Dazu gibt es reichlich Übungen und Beispielprojekte, Issues und Pull Requests direkt auf GitHub.
Zusätzlich zu jeweils einigen Lektion bezüglich der Kernthemen GitHub-Projekt, -Issues, -Forks und -Pull Requests, gibt es einen großen Bereich mit Tipps und Tricks.
Als Entwicklungsumgebung verwende ich Visual Studio. Du kannst den Kurs auch verwenden, wenn du eine andere Entwicklungsumgebung nutzt. Allerdings sind mindestens 20% der Lektion auf Visual Studio ausgelegt.
Ein Teilnehmer hat mir persönlich diese Rückmeldung geschickt über die ich mich sehr gefreut habe:
"Ich hatte bisher kaum bis keine Berührungspunkte mit GitHub, aber sehe, wie du auch, einen starken Nutzen in GitHub.
Mein Kernnutzen aus dem Kurs war das ich nun erstmal eigene Projekte dort bearbeite und ich meine Arbeit nun besser Dokumentieren kann was ich wo verändert und wie bearbeitet habe (Versionierung).
Der Kurs ist für mich sehr ausführlich gewesen und ich würde mich sozusagen als Ideale Zielgruppe ansehen, sprich Programmier Anfänger mit wenig bis begrenzten Kenntnissen, die GitHub nicht kennen oder kaum nutzen."
Egal ob du an dem Kurs teilnimmst, oder nur die kostenlosen Vorschau-Lektionen siehst, es ist mir wichtig, dass du die Grundzüge für die Arbeit an Projekten auf GitHub verstehst. Daher zeige ich dir in dieser ersten Lektion die 3 wichtigsten Schritte:
Diese 3 Schritte sind ganz unabhängig von GitHub (sogar unabhängig von Git) elementar für professionelle Softwareentwicklung in einem Team.
Wenn du also diesen Grundgedanken verinnerlichst und in deinen Projekten mit einem Team umsetzt, hast du schon einen wichtigen Schritt in Richtung professionelle Softwareentwicklung getan. Ich hoffe, dass hilft dir auch unabhängig davon, ob du am Kurs teilnimmst, oder nicht.
Neben den Vorteilen die es gibt, wenn du dein eigenes Projekt startest, gibt es auch einige Vorteile, wenn du an Projekten von anderen mitarbeitest. Der Kernnutzen, den ich durch die Mitarbeit an Projekten auf GitHub für mich sehe ist das Reflektieren.
Die Basis um kontinuierlich besser, oder sagen wir anders, zu werden ist für mich das Reflektieren. Mir geht es beim Reflektieren darum, dass ich Werte habe und versuche meine Handlung an diesen Werten auszurichten. Dabei strebe ich kontinuierlich danach meine Werte möglichst effektiv umzusetzen. Ein konkretes Beispiel dafür ist bei mir "Clean Code". Ich versuche also meinen Quellcode immer sauberer zu gestalten.
Wie weiß ich nun jedoch ob mein Quellcode bereits sauber ist? In welche Richtung kann ich ihn vielleicht noch sauberer gestalten? Das erkenne ich einerseits in dem ich Bücher lese, Kurse absolviere und so weiter. Ich lerne also. Das Theoretische reicht mir jedoch nicht. Es geht auch immer um die praktische Umsetzung.
Genau dafür ist GitHub eine geniale Plattform. Erstmal gibt es unglaublich viele Projekte, die ich analysieren kann bezüglich Aspekten die ich gut finde und auch Aspekten die mir nicht gut gefallen. Häufig ist es erstmal nur eine Art Bauchgefühl. Ich schaue also einen Quellcode an und habe irgendwie das Gefühl, dass er richtig cool ist, oder das etwas nicht stimmt.
Mit diesem Gefühl fange ich dann an zu suchen was genau das coole oder das komische ist. Finde ich Code Smells, die mir zeigen, dass etwas nicht stimmt? Sehe ich vielleicht eine coole Designmethodik (wie zum Beispiel Domain Driven Design) die in dem Quellcode angewandt wurde? ...
So lerne ich, kann meine Werte festigen und vor allem bekomme ich praktische Erfahrung. Dabei geht es mir hauptsächlich darum Muster zu erkennen. Das Erkennen von Mustern hilft mir später, wenn ich selber Quellcode schreibe. Bin ich in einer ähnlichen Situation wie die Entwickler in einem Projekt welches ich auf GitHub angeschaut und analysiert habe, dann kann ich vielleicht die Lösung von dort verwenden. Unter Umständen habe ich auch ähnlichen Quellcode in meinem Projekt, der mir nicht gefällt. Dann kann ich mir Gedanken machen wie ich ihn entfernen kann. Das alles sind Muster die mich langfristig effektiver und professioneller Software entwickeln lassen.
Ein weiterer Schritt ist dann nicht nur die passive Arbeit an einem Projekt, sondern das aktive Beteiligen an einem GitHub-Projekt. Viele Entwickler die auf GitHub ihre Projekte haben, sind dankbar, wenn du sie auf bestimmte Aspekte ihres Projektes ansprichst. Egal ob du eine Verständnisfrage hast, ob du ein Problem gefunden hast oder auch eine Idee hast um das Projekt weiterzubringen. Durch aktive Beteiligung lernst nicht nur du, sondern auch die anderen.
Lernen und üben sind jedoch nicht die einzigen Gründe warum du dich an anderen Projekten auf GitHub beteiligen solltest:
Gibt eine allgemeine Einführung in die grundsätzlichen Aktivitäten des GitHub-Workflows.
In der vorherigen Lektion hast du gesehen wie du dich in anderen Projekten einbringen kannst bzw. wie andere Entwickler auch an deinem Projekt arbeiten können. In dieser Lektion gebe ich dir einen kurzen Überblick wie das GitHub-Team intern GitHub verwendet. Dort wird ein relativ einfacher Workflow verwendet, der auch dir helfen kann. Dabei ist es egal ob du in einem (kleinen) Team arbeitest oder auch alleine.
Im Vergleich zu der vorherigen Lektion besteht hier der Hauptunterschied darin, dass du mit dir bekannten Personen zusammenarbeitest. Trotzdem werden Pull-Requests verwendet um einerseits eine Dokumentation zu haben und andererseits einen klar definierten Workflow. Natürlich kannst du das auch alles viel informeller in deinem eigenen Projekt gestalten. Allerdings ist dieser Workflow sehr einfach nachvollziehbar und erfüllt trotzdem alle wesentlichen Aspekte der Qualitätssicherung und unterstützt die Zusammenarbeit im Team.
Die wichtigsten Punkte sind:
http://scottchacon.com/2011/08/31/github-flow.html
https://guides.github.com/introduction/flow/
Talking Head.
Natürlich stellt sich die Frage warum du überhaupt auf einer Plattform wie GitHub ein Projekt starten solltest. Erstmal sollte dir bewusst sein, dass auf GitHub zwischen öffentlichen und privaten Projekten unterschieden wird. Wahrscheinlich bist du bereits über einige öffentliche Projekte gestolpert. Gerade, dass Microsoft in den letzten Monaten massiv in GitHub-Projekt investiert hat zeigt, dass es wohl einen oder mehrere gute Gründe dafür gibt:
Neben diesen Vorteilen, ist für mich persönlich der Aspekt der Datensicherung sehr wichtig. Es gibt schon fast unendlich viele Möglichkeiten seine Daten zu sichern. Allerdings finde ich, dass es möglichst einfach gehen sollte, damit ich es auch tatsächlich mache. Die Einbindung eines GitHub-Projektes in meine tägliche Arbeit ist genau das: überaus einfach! Dabei spielt es keine Rolle ob ich meinen Quellcode für alle sichtbar in einem öffentlichen oder nur für mich und mein Team in einem privaten Verzeichnis ablege. Ich kann auf beide direkt aus meiner Entwicklungsumgebung zugreifen und sämtliche Änderungen die ich lokal habe mit meine GitHub-Projekt synchronisieren. So kann ich mir sicher sein, dass meine Daten nicht verloren gehen.
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:
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.
Die wichtigsten Funktionen habe ich dir bereits in der vorherigen Lektion vorgestellt. Hier geht es darum, dass du verstehst, über welche Kanäle du GitHub bedienen kannst.
Screencast.
Ein Profil auf GitHub ist der zentrale Anlaufpunkt um dich über einen Entwickler zu informieren. Für dich bedeutet das, dass du dich hier präsentieren kannst. Auf einige Aspekte hast du dabei Einfluss. Andere werden von GitHub automatisch erstellt.
Daten die in deinem Profil sichtbar sind, kannst du in den Einstellungen anpassen. Dort solltest du folgende Einstellungen unbedingt anpassen:
Du lernst, wie du ein neues Projekt auf GitHub anlegst und was du dabei bedenken / beachten solltest:
Nachdem das Projekt erstellt ist, kannst du auch hier deine Webseite verlinken. Das wichtigste jedoch ist, dass du ein paar Sätze ins README.md schreibst.
GitHub ist International. Überlege dir also, in welcher Sprache du schreibst!
Du lernst die wichtigsten Bestandteile deines GitHub-Projektes kennen:
Nun bist du dran! Erstelle ein Konto, konfiguriere es und starte dein erstes Projekt.
Wenn du lediglich den Quellcode von einem für dich interessanten Projekt in VisualStudio anschauen willst, dann kannst du dir dieses Projekt klonen.
Dazu benötigst du die Adresse des Projektes und schon geht es los.
WICHTIG: Wenn du ein Projekt, welches nicht dein eigenes ist, von GitHub klonst, kannst du an dem Projekt zwar lokal arbeiten, aber deine Änderungen nicht wieder in das Projekt zurück fließen lassen. Wenn du das machen möchtest, musst du erst ein Fork vom Projekt erstellen.
Wenn du nun ein neues Projekt auf GitHub angelegt hast, dann hast du zwar schon ein paar Dateien, aber das eigentlich wichtige, der Quellcode, fehlt bisher noch. In dieser Lektion zeige ich dir, wie du deinen Quellcode aus Visual Studio in dein neues GitHub-Projekt bekommst.
Es gibt einige Möglichkeiten wie du ein neues oder auch bestehendes Projekt von Visual Studio mit deinem Projekt auf GitHub synchronisieren kannst. In dieser Lektion stelle ich dir den aus meiner Sicht reibungslosesten Weg vor:
Wenn du nun ein neues Projekt auf GitHub angelegt hast, dann hast du zwar schon ein paar Dateien, aber das eigentlich wichtige, der Quellcode, fehlt bisher noch. In dieser Lektion zeige ich dir, wie du deinen Quellcode aus Visual Studio in dein neues GitHub-Projekt bekommst.
Nicht immer fängst du mit einem VisualStudio Projekt neu an. Wenn du also ein schon bestehendes VisualStudio-Projekt mit einem neuen GitHub-Projekt synchronisieren möchtest, dann hilft dir diese Lektion. Folgende Schritte sind auszuführen:
Nachdem du das Projekt aufgesetzt hast, bist du erstmal der alleinige Herrscher über dein Projekt. D.h. andere können dein Projekt sehen, sie können es sogar kopieren und dir Änderungen vorschlagen. Sie können jedoch nicht direkt Änderungen an deinem Quellcode machen.
Das ist nun häufig erstmal der richtige Weg, aber vielleicht möchtest du ja mit jemanden zusammen arbeiten. Wenn du diesem jemanden traust, dann kannst du ihn als Collaborator in dein Projekt aufnehmen. Damit hat er direkten Schreibzugriff auf dein Projekt und kann den Quellcode verändern.
GitHub hat eine umwerfende Suchfunktion. Allerdings ist sie nicht immer sofort verständlich. Folgende Aspekt stelle ich dir in dieser Lektion vor:
GitHub ist nicht nur eine Visualisierung für die Versionsverwaltung Git, sondern auch eine Art soziales Netzwerk für Entwickler und alle die an Softwareentwicklungsprojekten teilnehmen wollen. Es gibt ein paar Informationen die dir zeigen wie aktiv ein Projekt ist. Es gibt momentan über 31 Millionen Projekte. Allerdings werden viele davon auch nicht aktiv gepflegt.
Folgende Indikatoren können dir bei der Bewertung helfen:
Wenn du dir das "Network" ansiehst, kannst du erkennen an welchen Funktionalitäten momentan gearbeitet wird. Darum ist es auch sehr wichtig, dass du gut benannte Branches verwendest. Nur so sehen andere woran momentan gearbeitet wird.
https://gun.io/blog/how-to-github-fork-branch-and-pull-request/
In dieser Lektion gehst du selber auf die Suche nach einem für dich passenden Projekt und entscheidest anhand deiner Bewertung, ob du es unterstützen möchtest.
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
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.
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:
In dieser Lektion wendest du dein Wissen über Issues praktisch an.
Es ist nicht nur möglich Issues in anderen Issues zu referenzieren, sondern du kannst auch sagen, dass ein Commit ein Issue schließen soll. Das Vorgehen ist denkbar einfach. Verwende in deiner Commit-Message einfach "Fixes #<Issue-Id>". Also zum Beispiel "Fixes #1 - Now images are minified to improve performance of website.". Sofern in deinem Projekt ein Issue mit der Id 1 existiert und dieses den Status "Open" hat, wird es automatisch geschlossen.
Wichtig dabei ist, dass dies erst geschieht, wenn dein Commit im "Default"-Branch angekommen ist. Üblicherweise ist "master" der default-branch. Wenn dein Commit mit der Beschreibung von oben also direkt auf "master" geht, wird das Issue sofort geschlossen. Machst du deinen Commit jedoch in einen anderen Branch, dann bleibt das Issue solange geöffnet, bis der Branch in den master Branch gemerged wurde.
In dieser Lektion zeige ich dir, wie per Commit das Issue#2 im Verzeichnis hallo-github geschlossen wird. https://github.com/LMStudent/hallo-github/issues/2
Du kannst nicht nur "Fixes ..." verwenden sondern auch "Closes ...", "Resolves ..." und verschiedenste Variante davon. Die Details findest du hier: https://help.github.com/articles/closing-issues-via-commit-messages/
Die Zustandsmaschine für Issues ist bei GitHub sehr einfach gehalten. Ein Issue kann lediglich die folgenden Zustände haben:
Darüber hinaus gibt es keinen fest definierten Workflow oder Zustände eines Issues. Alles weitere kannst du mithilfe von Milestones und insbesondere Labels für dein Projekt definieren. Dabei wirst du allerdings nicht wie bei anderen Issue-Trackern vom Tools selbst unterstützt.
Wie ist das mit diesen Bots, die ich schon einigele gesehen habe (z.B. vscode hat einen "mentionbot")?
Auch die Zugriffsrechte sind sehr einfach gehalten: Jeder GitHub-Benutzer kann an öffentlichen Projekten ein Issue erstellen und kommentieren.
Lediglich beim schließen von Issues gibt es eine (gravierende) Einschränkung. Ein Issue kann nur vom Projektteam und dem Autor des Issues geschlossen werden.
Gerade in großen Projekten mit vielen Issues wirst du häufig sehen, dass es besondere Hinweise an Issues gibt. Dies sind dann entweder Milestones, Labels oder Assignees. Damit ist es leichter sich in der Flut von Issues zu orientieren, aber es hilft auch sehr bei der Projektplanung und dem Projektmonitoring. Hier ein paar Details und Beispiele:
Du kannst diese Funktionalitäten jedoch nicht nur in großen Projekten benutzen, sondern ebenfalls in deinem eigenen (kleinen) Projekt. Gerade dort kannst du dir so ein einfaches Projektmanagement mit den "Bordmitteln" von GitHub erstellen.
Wenn du dich mit Kanban-Boards auskennst, dann ist vielleicht auch https://huboard.com für dich interessant. Es ist ein für Open-Source-Projekte kostenloser Service mit dem du Issues auf einem Kanban-Board organisieren kannst.
Um zu sehen, welche Issues du erstellt hast und wie es um deine Issues steht, kannst du einen Blick in das Issue-Dashboard schmeißen. Dieses findest du, wenn du oben auf "Issues" klickst.
Wenn dich das Projekt mehr interessiert als deine eigenen Issues, dann kannst du dir den "Pulse" anschauen. Dort siehst du, wie sich die Issues für das Projekt entwickeln.
Auch Visual Studio hat die Funktionalität, dass es Issues verwalten kann. Nun ist es erstmal nicht direkt möglich, die Issues von GitHub in Visual Studio zu sehen. Dafür gibt es jedoch eine Extension. In dieser Lektion zeige ich dir, wie du sie installierst und verwendest.
Ein Fork ist quasi eine Kopie eines bestehenden Verzeichnisses. Dies wird hauptsächlich aus den folgenden Gründen gemacht:
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.
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.
Für Git ist ein Fork ein ganz normales Verzeichnis. Daher kannst du es in Visual Studio auch einfach klonen. Damit unterscheidet es sich eigentlich nicht von dem Ursprungsverzeichnis. Einen Unterschied merkst du erst dann, wenn du Änderungen die du lokal gemacht hast wieder in das remote-Verzeichnis (bei GitHub) zurück laden willst.
Wichtig ist, dass wenn du beide Verzeichnis bei dir lokal geklont hast, dass du sie auch eindeutig auseinander halten kannst.
Als upstream wird das Verzeichnis bezeichnet, von dem du den Fork erstellt hast. Damit kannst du Änderungen, die in der Zeit am Original-Verzeichnis gemacht wurden, in deinen Fork holen. Insbesondere, wenn du einen Pull Request erstellen willst, ist dies ein wichtiger Schritt.
Wichtig ist, dass du den Unterschied zwischen Origin und Upstream verstehst. Wenn du deinen Clone eines Forks von GitHub auf deinem lokalen Entwicklungsrechner erstellst, hat dieser automatisch ein remote mit dem Namen "Origin". Dieser remote zeigt auf den Fork in DEINEM GitHub-Account.
Um nun deinen Fork mit dem Verzeichnis zu synchronisieren, von dem du den Fork erstellt hast, brauchst du den remote mit dem Namen "Upstream". Diesen kannst du dir ganz einfach selber anlegen.
Ö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.
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.
Erstelle einen PullRequest für das Projekt https://github.com/LMStudent/hallo-github
Wie schon zu Anfang erwähnt, kannst du Pull Requests nicht nur bei Open Sourcen Projekten verwenden, sondern auch innerhalb deines Teams. Dabei ist es natürlich egal, ob du an einem öffentlichen oder privaten Projekt arbeitest.
In dieser Lektion zeige ich dir, wie du Änderungen in einem Branch auf GitHub veröffentlichst und dann deine Kollegen (Collaborator im Projekt) um Stellungnahme bzw. Code Review fragst und letztlich die Änderungen dann in den master Branch übernimmst.
Du brauchst nicht alle Branches und Forks behalten, die du für einen Pull Request erstellt hast. Um dein Verzeichnis bzw. dein Account möglichst sauber zu halten, macht es Sinn, dass du Branches und Forks löscht, wenn alle Änderungen aus einem Pull Request übernommen wurden.
Ich erstelle ein PullRequest für dein Projekt und du übst das Review und die Integration der Änderung in dein Projekt.
Erstelle eine GitHub-Page für deinen Account basierend auf dem Theme https://github.com/mmistakes/minimal-mistakes
Es gibt immer mal wieder Fälle in denen du einfach nicht erst deine IDE oder Editor bemühen musst bzw. möchtest. Wenn du beispielsweise an der Dokumentation eine kleine Änderung machst, dann kannst du das auch direkt online auf der Oberfläche (GitHub.com) machen.
In dieser Lektion zeige ich dir anhand eines Beispiels wie das geht.
Neben dem Editieren gibt es noch weitere Funktionalitäten die dir GitHub auf Dateien anbietet. Besonders hilfreich sind "Raw" und History, aber auch "Blame" kann sehr interessant sein.
Ich bin der Ansicht, dass die Stärke von Git darin liegt, dass man ein detailliertes Log über alle Änderungen hat. In großen Projekten führt dies allerdings manchmal dazu, dass die Historien extrem groß wird.
Daher gibt es beim Pull Request die Möglichkeit, dass alle Commits, die du für einen Pull Request gemacht hast zu einem Commit zusammen gefasst werden. Dies wird auch Merge Squashing genannt.
In dieser Lektion zeige ich dir wie das geht.
LGTM steht für "Looks good to me". Es wird auf GitHub sehr häufig verwendet. Einige Projekte definieren sogar, dass ein Pull-Request mindestens ein (oder 2, oder 3, ...) LGTMs braucht, bevor er übernommen werden darf.
Das ganze wird als sign-off bezeichnet. Es geht darum, dass wenigstens ein paar der verantwortlichen Entwickler deine Änderungen angesehen haben und sagen, dass alles okay ist.
Auf GitHub gibt es einen eigenen Bereich für Releases. Dieser wird "gesteuert" über Tags die du in Git setzt. In dieser Lektion zeige ich dir wie du das machst, wie du sie aus Visual Studio nach GitHub bekommst und wie du dann in GitHub das ganze überarbeiten kannst.
Gerade wenn du dich an einem Projekt beteiligst, oder ein anderes Projekt (z.B. eine Bibliothek) von GitHub in deinem Quellcode verwendest, ist es gut, wenn du über den Projektverlauf auf dem laufendem bleibst. Dafür gibt es die "Watch" Funktionalität bei GitHub.
Das ist so ähnlich wie dem "Folgen" auf Facebook oder Twitter. In deiner "Timeline" siehst du dann alle wesentlichen Änderungen die an dem Projekt welches du "beobachtest" gemacht werden. Dazu gehören:
Wichtig ist natürlich, dass die ganzen Nachrichten dich nicht stören. Daher gibt es verschiedene Einstellungen, mit denen du beeinflussen kannst, wie du benachrichtigt wirst.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.