GitHub – Eine praktische Einführung. Anke Lederer
Für längere Erklärungen gibt es die »Erklärbärbox«:
Erklärbärbox
In diese Boxen kommen längere Erläuterungen zu einem bestimmten Thema, die den Lesefluss im »normalen« Text stören würden. Falls dich das Thema nicht interessiert oder du darüber schon gut Bescheid weißt, kannst du diese Boxen einfach überspringen.
Alles, was meiner Ansicht nach den Lesefluss stören würde, werde ich in Fußnoten packen: beispielsweise Webadressen, Details, die für das weitere Verständnis nicht unbedingt wichtig sind, und auch persönliche Kommentare.
Danksagung
Danksagung sind für Leser*innen häufig öde, daher mache ich es kurz und schmerzlos:
Als Erstes möchte ich meinem Mann Rüdiger danken, der mich während des Schreibens oft genug aus meinem Schreibtunnel hervorlocken oder aber meine Begeisterung für irgendwelche fachlichen Details ertragen musste.
Weiterer Dank gebührt meinen ganzen Querleser*innen, die das Buch in Teilen gelesen und mir Feedback gegeben haben: Henry Hillje, Alina Robbers, Halil Ege, Jan Schnedler und (wieder) Rüdiger.
Dann gab es noch ein paar Verrückte, die das Buch als Ganzes gelesen und mir ebenfalls sehr hilfreiches Feedback gegeben haben: Julia Barthel, Florian Diedrich, Sven Riedel, Nina Siessegger und Ayleen Weiß. Dank eurer Unterstützung sind noch einige Praxistipps eingeflossen, konnte ich einige Unklarheiten ausräumen und habe zudem meinen wortreichen Schreibfluss etwas im Zaum gehalten ;-).
Danke auch an meine Lektorin Ariane Hesse, die (hoffentlich) alle Stolpersteine gefunden und dadurch dieses Buch zu einem besseren gemacht hat.
Nicht vergessen möchte ich Christina Czeschik und Matthias Lindhorst, beide Autor*innen des Buchs Weniger schlecht über IT schreiben, die mich durch ihr Buch überhaupt erst dazu inspiriert und motiviert haben, selber ein Buch zu schreiben. Danke dafür!
Danken möchte ich auch der Open-Source-Community. Ohne die unermüdliche Unterstützung dieser Menschen wäre die (Software-)Welt eine ärmere. Ich werde daher ein Teil des Bucherlöses an einige Open-Source-Projekte spenden.
|
Git als Unterstützungstool für dieses Buch Dieses Buch ist mithilfe von Git erstellt worden. Dafür habe ich 882 Commits auf dem master-Branch durchgeführt. |
KAPITEL 1
Was ist GitHub, und wofür brauche ich es?
GitHub ist eine der wichtigsten Anlaufstellen im Internet für Softwareentwickler*innen, Open-Source-Enthusiast*innen und andere Interessierte. Viele bekannte Projekte werden dort weiterentwickelt und veröffentlicht, wie beispielsweise Googles User-Interface-Entwicklungskit Flutter1, das Machine-Learning-Framework TensorFlow2 (ebenfalls Google) oder das CAD-Programm FreeCAD3 (CAD steht für Computer Aided Design). Auch wer Bibliotheken und Erweiterungen für Programmiersprachen oder Unterstützung bei Projekten mit dem günstigen Einplatinencomputer Raspberry Pi sucht, wird häufig auf einem GitHub-Repository landen. Spätestens seit der Corona-Warn-App4, deren Quellcode auf GitHub veröffentlicht wurde,5 ist die Plattform auch einem breiteren Publikum namentlich bekannt.
Unternehmen wie Facebook, Ford, Spotify, 3M und viele weitere haben die Plattform ebenfalls für sich entdeckt und entwickeln und veröffentlichen dort eigene Projekte. Mittlerweile ist es sogar nicht unüblich, das potenzielle Arbeitgeber*innen einen Blick auf den GitHub-Account einer sich bewerbenden Person werfen und diesen in ihre Entscheidungsfindung mit einfließen lassen. Es kann also viele Gründe geben, sich mit GitHub beschäftigen zu wollen.
|
Am Ende des Kapitels weißt du … was GitHub ist und wofür es eingesetzt wird.wie Git und GitHub zusammenhängen.welche Funktionen von GitHub kostenlos nutzbar sind. |
Open Source
Auf den ersten Blick könnte man denken, mit Open Source sei ausschließlich gemeint, den Quellcode (Quelle, englisch Source) offenzulegen. Das ist aber nicht das einzige Merkmal. Vom Grundgedanken her gewährt Open Source die folgenden vier Freiheiten:
Verwenden: die Software für beliebige Zwecke nutzen.
Verbreiten: die Software uneingeschränkt an andere weitergeben.
Verändern/verbessern: die Software an eigene Bedürfnisse anpassen.
Verstehen: den Quellcode untersuchen.
Es existieren Hunderte von Open-Source-Lizenzen, die jeweils eine andere Kombination dieser Freiheiten regeln. Das sehen wir uns in Kapitel 5 noch etwas genauer an. Open-Source-Software ist meistens kostenlos, muss es aber nicht sein.
Rund um das Thema Open Source wirst du zudem eine Vielzahl von Begriffen wie Free Software, Libre Software, Free and Open Source Software (FOSS) sowie Free/Libre and Open Source Software (FLOSS) finden. Diese Begriffe haben nicht unbedingt die gleiche Bedeutung, sind inhaltlich aber verwandt. Lass dich davon jedoch nicht verwirren. Diese Namensvielfalt kommt daher, dass jeweils unterschiedliche Aspekte von Freiheit besonders betont werden.6 Ich werde in diesem Buch den Begriff Open Source verwenden.
Was bietet GitHub?
GitHub ist ein webbasierter kollaborativer Hosting-Dienst für Git-Projekte. »Aha«, mag sich der eine oder die andere denken und ist immer noch nicht schlauer. Gehen wir das mal gemeinsam durch.
Webbasiert bedeutet nichts anderes als »befindet sich im Internet«.
Kollaborativ bedeutet »zusammenarbeiten«.
Ein Hosting-Dienst ist ein Dienst, der Ressourcen wie beispielsweise Speicherplatz oder Softwareanwendungen bereitstellt. Häufig handelt es sich dabei um »Plattenspeicherplatz«, um Dateien im Internet ablegen zu können, beispielsweise für eine Webseite.
Git7 ist eine freie Software zur Versionsverwaltung von Dateien. Versionsverwaltungen bieten Werkzeuge an, um mit Arbeits- und Zwischenständen von Dateien besser arbeiten zu können (mehr dazu später im Abschnitt »Versionsverwaltung« auf Seite 136 in Kapitel 7). Git wird in der Regel lokal auf dem eigenen Rechner installiert und verwaltet häufig programmierten Code. Aber auch Webseiten, Firmenkorrespondenz oder Gedichte wären möglich (genau genommen alle Arten von Textdateien). Darüber hinaus gibt es die Möglichkeit, einen eigenen Git-Server zu installieren.