Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Git ist ein freies, quelloffenes, verteiltes Versionskontrollsystem, das von Linus Torvalds entwickelt wurde. Git erfordert nur einen geringen Betriebsaufwand und ist dennoch flexibel und leistungsfähig genug, um die Anforderungen komplexer, groß angelegter und verteilter Softwareentwicklungsprojekte zu erfüllen.

Unser Ziel in diesem Buch ist es, dir zu zeigen, wie du das Beste aus Git herausholst und wie du ein Git-Repository mit Leichtigkeit verwalten kannst. Am Ende wirst du die Git-Philosophie, die grundlegenden Konzepte und die mittleren bis fortgeschrittenen Fertigkeiten für die Nachverfolgung von Inhalten, die Zusammenarbeit und die Verwaltung deiner Projekte in Teams kennen.

Für wen dieses Buch ist

Dieses Buch richtet sich in erster Linie an Softwareentwickler/innen (Entwickler/innen, Infrastrukturtechniker/innen, DevOps usw.). Daher beziehen sich die meisten Konzepte und Beispiele, die wir verwenden, auf die täglichen Routinen und Aufgaben der Softwareentwickler/innen. Git ist jedoch robust genug, um Inhalte aus so unterschiedlichen Bereichen wie Data Science, Grafikdesign und Bucherstellung zu verfolgen, um nur einige zu nennen. (Ein Beispiel: Wir haben Git als zugrundeliegendes Versionierungssystem verwendet, um beim Schreiben dieses Buches den Überblick über Rezensionen und Änderungen zu behalten). Wenn du Git als Versionskontrolle verwendest, wirst du auf diesen Seiten auf jeden Fall fündig, unabhängig von deinem Titel oder deinem Kenntnisstand.

Unverzichtbares Know-How

Vorerfahrungen mit Versionskontrollsystemen, ihren Zielen und Aufgaben sind hilfreich, um zu verstehen, wie Git funktioniert, und um dein Wissen beim Lesen dieses Buches zu erweitern. Du solltest mit der Verwendung von Kommandozeilen-Tools wie der Unix-Shell vertraut sein und über Grundkenntnisse der Shell-Befehle verfügen, da wir in den Beispielen und Diskussionen in diesem Buch viele Kommandozeilen-Anweisungen verwenden. Ein allgemeines Verständnis von Programmierkonzepten ist ebenfalls von Vorteil.

Wir haben die Beispiele in den Umgebungen macOS und Ubuntu entwickelt. Die Beispiele sollten auch auf anderen Plattformen wie Debian, Solaris und Windows funktionieren (unter Verwendung von Git-Befehlszeilentools wie Git für Windows), aber du kannst mit leichten Abweichungen rechnen.

Einige Übungen in den Beispielen können Operationen auf Systemebene erfordern, die Root-Zugriff auf den Rechnern benötigen. Natürlich solltest du in solchen Situationen ein klares Verständnis für die Verantwortlichkeiten von Operationen haben, die Root-Zugriff erfordern.

Neu in dieser Revision

In dieser dritten Ausgabe verfolgen wir einen völlig neuen, modularen Ansatz für die Themen, indem wir die Konzepte von Git aufschlüsseln. Wir beginnen mit einer Einführung in die Grundlagen und die grundlegende Philosophie von Git, bauen dann schrittweise auf Zwischenbefehle auf, die dir helfen, deinen täglichen Entwicklungsworkflow effizient zu ergänzen, und schließen mit fortgeschrittenen git Befehlen und Konzepten ab, die dir helfen, die inneren Mechanismen zu verstehen, wie Git unter der Haube funktioniert.

Außerdem haben wir in dieser Ausgabe mehr Illustrationen zur Erklärung komplexer Git-Konzepte hinzugefügt, um dir ein mentales Modell zum besseren Verständnis zu geben. Außerdem heben wir die Funktionen der neuesten Git-Version hervor und geben dir Beispiele und Tipps, mit denen du deinen aktuellen verteilten Entwicklungsworkflow verbessern kannst.

Navigieren im Buch

Wir haben diese Ausgabe in Kategorien eingeteilt, die sich nach der Vertrautheit und Erfahrung des Lesers im Umgang mit Git richten. Während wir die Abschnitte so kategorisiert haben, dass sie schrittweise fortgeschrittener werden, um deine Kenntnisse über Git zu erweitern, haben wir die Kapitel innerhalb der einzelnen Abschnitte so gestaltet, dass du die Inhalte entweder als eigenständige Themen oder als aufeinander aufbauende Themenreihen nutzen kannst.

Wir haben uns bemüht, in jedem Kapitel eine einheitliche Struktur und einen einheitlichen Ansatz für die Vermittlung von Konzepten anzuwenden. Wir möchten dich bitten, dir einen Moment Zeit zu nehmen, um dieses Format zu verinnerlichen. Das wird dir helfen, das Buch in Zukunft als praktisches Nachschlagewerk zu nutzen und zu navigieren.

Wenn du das Buch in die Hand nimmst, während du mit anderen Aufgaben jonglierst, und dich fragst, in welcher Reihenfolge du am besten loslegst, dann mach dir keine Sorgen. Tabelle P-1 hilft dir, die Kapitel zu finden, von denen wir glauben, dass sie dir helfen werden, das meiste Wissen in kürzester Zeit zu erwerben.

Tabelle P-1. Kategorien-Matrix
Denken in Git Grundlagen von Git Fortgeschrittene Fähigkeiten Fortgeschrittene Fähigkeiten Tipps und Tricks

Softwareentwicklung

x

x

x

x

x

Datenwissenschaftler/in

x

x

x

x

Grafikdesigner

x

x

x

Academia

x

x

x

Inhalt Autoren

x

x

x

Git installieren

Um das Gelernte zu vertiefen, empfehlen wir dir, die Beispielcodes auf deinem Entwicklungsrechner zu üben. Um den Beispielen folgen zu können, musst du Git auf der Plattform deiner Wahl installieren. Da die Schritte zur Installation von Git je nach Version deines Betriebssystems unterschiedlich sind, haben wir in Anhang B eine entsprechende Anleitung für die Installation von Git bereitgestellt.

Ein Hinweis zur inklusiven Sprache

Ein weiterer wichtiger Punkt, den wir mit den Beispielen hervorheben möchten, ist, dass uns Vielfalt und Inklusion in der Tech-Branche sehr am Herzen liegen und wir die Sensibilisierung für diese Themen ernst nehmen. Für den Anfang werden wir das Wort "main " verwenden, um den Standardnamen des Zweigs anzugeben.

Auslassungen

Dank seiner aktiven Community entwickelt sich Git ständig weiter. Noch während wir diese Ausgabe schreiben, wurde eine weitere neue Version von Git für die kommerzielle Nutzung veröffentlicht: Version 2.37.1, um genau zu sein. Es war nicht unsere Absicht, Informationen in diesem Buch auszulassen; das ist einfach die unvermeidliche Realität, wenn man über eine sich ständig verändernde Technologie schreibt.

Wir haben uns bewusst dafür entschieden, nicht alle Git-Befehle und -Optionen zu behandeln, um uns stattdessen auf gängige und häufig verwendete Befehle zu konzentrieren. Wir gehen auch nicht auf alle Git-bezogenen Tools ein, weil es einfach zu viele davon gibt.

Trotz dieser Auslassungen sind wir zuversichtlich, dass dieses Buch dir eine solide Grundlage bietet und dich darauf vorbereitet, tiefer in die Welt von Git einzutauchen, wenn es nötig wird. Eine detaillierte Liste der Versionsänderungen findest du in den Versionshinweisen für Git.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings und innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wörtlich eingegeben werden muss.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch vom Kontext bestimmte Werte ersetzt werden soll.

Tipp

Dieses Symbol steht für einen nützlichen Hinweis oder einen Tipp.

Warnung

Dieses Symbol weist auf eine Warnung oder Vorsicht hin.

Hinweis

Dieses Symbol zeigt eine allgemeine Notiz an.

Außerdem solltest du mit den grundlegenden Shell-Befehlen zur Bearbeitung von Dateien und Verzeichnissen vertraut sein. Viele Beispiele werden solche Befehle enthalten, um Verzeichnisse hinzuzufügen oder zu entfernen, Dateien zu kopieren oder einfache Dateien zu erstellen:

# Command to create a new directory
$ mkdir newdirectory


# Command to write content into a file
$ echo "Test line" > file.txt

# Command to append content at the end of a file
$ echo "Another line" >> file.txt

# Command to make a copy of a file
$ cp file.txt copy-of-file.txt


# Command to remove a file
$ rm newdirectory/file

# Command to remove a file
$ rmdir newdirectory

Befehle, Root-Berechtigungen und Befehle, die mit Root-Berechtigungen ausgeführt werden müssen, erscheinen als sudo Operation:

# Install the Git core package
$ sudo apt-get install git-core

Wie du Dateien bearbeitest oder Änderungen in deinem Arbeitsverzeichnis vornimmst, ist so ziemlich dir überlassen. Du solltest mit einem Texteditor vertraut sein. In diesem Buch bezeichnen wir den Prozess der Dateibearbeitung entweder mit einem direkten Kommentar oder einem Pseudo-Befehl:

# edit file.c to have some new text
$ edit file.c

O'Reilly Online Learning

Hinweis

Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/VCG3e aufrufen .

Schreib eine E-Mail an , um Kommentare oder technische Fragen zu diesem Buch zu stellen.

Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.

Du findest uns auf LinkedIn: https://linkedin.com/company/oreilly-media.

Folge uns auf Twitter: https://twitter.com/oreillymedia.

Sieh uns auf YouTube: https://youtube.com/oreillymedia.

Danksagungen

Die kollektive Summe des Wissens von vielen überwiegt die Summe von einem. Deshalb wird dieses Projekt durch die Hilfe vieler Menschen ermöglicht. Ich persönlich schulde Matthew McCullough ein großes Dankeschön, der mir die Möglichkeit gegeben hat, die Welt in dieser Ausgabe des Buches weiter über Git und GitHub zu unterrichten. Ich danke auch Jon Loeliger, dem Hauptautor des Buches, dessen Arbeit eine großartige Referenz war, um in früheren Ausgaben des Buches tief in das Unkraut des Git-Wissens einzutauchen.

Ich möchte mich bei meinen technischen Korrektoren Jeff King, Jess Males, Aaron Sumner, Donald Ellis und Mislav Marohnić bedanken, die die Rohfassung des Buches durchlesen mussten und mit ihrem immensen Feedback dafür gesorgt haben, dass die Kapitel eine für alle verständliche Form annehmen.

Außerdem möchte ich mich bei Taylor Blau bedanken, der mir schon in den ersten Kapiteln des Buches wertvolle Hinweise und Rückmeldungen gegeben hat, die mir geholfen haben, die Gesamtstruktur für die späteren Teile des Buches zu finden. Lars Schneider entwickelte die Idee und das Konzept für den Abschnitt "Git LFS", der auf einem von ihm vorbereiteten Vortrag basiert; dafür danke ich ihm sehr. Die Arbeiten von Elijah Newren, Derrick Stolee und Vincent Driessen werden mit Erlaubnis referenziert, und ich bin dankbar für ihren Beitrag. Ich möchte auch Peter Murray danken; unsere Gespräche über die Struktur des Buches haben mir die Gewissheit gegeben, dass ich mit den Änderungen für diese dritte Ausgabe auf dem richtigen Weg bin.

Meinen Redakteurinnen und Redakteuren und den Mitarbeiterinnen und Mitarbeitern von O'Reilly - insbesondere Shira Evans, Virginia Wilson, Beth Kelly, Audrey Doyle, Kim Sandoval, Sue Klefstad, David Futato, Karen Montgomery, Kate Dullea, Suzanne Huston und Melissa Duffield - danke ich von ganzem Herzen für ihre Geduld, ihre Motivation und ihr Anfeuern, um sicherzustellen, dass wir es über die Ziellinie schaffen.

Schließlich möchte ich meiner Frau Tejirl und meiner Tochter Temyksciraa für ihre bedingungslose moralische Unterstützung und ihre Geduld danken; dafür, dass sie Familienessen, Rendezvous und Urlaube geopfert haben; und vor allem dafür, dass sie an mich geglaubt haben. Danke auch an meine Eltern, Ponuthorai und Jayaletchmy, die mich Durchhaltevermögen gelehrt haben. Und ein besonderes Dankeschön an Raksha, meinen süßen weißen Schweizer Schäferhund, der während des gesamten Schreibprozesses geduldig an meiner Seite gewartet hat.

Zuschreibungen

Die Git Trademark Policy ist online verfügbar.

Linux® ist das eingetragene Warenzeichen von Linus Torvalds in den Vereinigten Staaten und anderen Ländern.

PowerPC® ist eine Marke der International Business Machines Corporation in den Vereinigten Staaten, anderen Ländern oder beidem.

Unix® ist eine eingetragene Marke von The Open Group in den Vereinigten Staaten und anderen Ländern.

Get Versionskontrolle mit Git, 3. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.