Einige grundsätzliche Fragen zur Versionsverwaltung mit Git sind
der Inhalt der sechsundsiebzigsten Episode des
Anwendungsentwickler-Podcasts. TL;DR Ich führe dich als IT-Azubi in
die Grundlagen von Git ein, damit du Änderungen an deinem Quellcode
nachvollziehen und gespeicherte Stände wiederherstellen kannst. Git
hält die Projekthistorie lokal vor, wodurch du auch offline
arbeiten und eigene Commits vor dem Teilen korrigieren kannst. Du
erfährst, wie Repository und Arbeitskopie zusammenhängen, wie du
mit git clone und git pull einsteigst und welche Informationen zu
einem Commit gehören. Kapitelmarken [00:00:01] Einführung in Git
[00:00:33] Fragen zum Selbstlernen und Material zum Herunterladen
[00:01:57] Git in der Ausbildung und im Betrieb [00:03:14]
Tutorials und weiterführende Lernangebote [00:04:58] Allgemeine
Grundlagen und betriebliche Fragen [00:06:14] Wozu
Versionsverwaltung dient [00:07:55] Gespeicherte Stände und
Änderungen nachvollziehen [00:11:09] Subversion als zentrale
Versionsverwaltung [00:12:01] Lokal und offline mit Git arbeiten
[00:14:10] Eigene Versionen korrigieren und lauffähige Stände
teilen [00:16:11] Repository und der Ordner .git [00:19:44] Ein
Repository mit git clone kopieren [00:23:06] Die Arbeitskopie und
ältere Stände auschecken [00:25:42] Änderungen mit git pull holen
[00:27:49] Commits und ihre Kennung [00:29:09] Hashes als
Prüfsummen und Commit-IDs [00:31:45] Angaben im Commit und
Parent-Commits [00:33:45] Weitere Fragen und Fortsetzung der
Git-Einführung [00:34:58] Podcast-Empfehlung Together We Make IT
[00:36:01] Git für eigene Projekte und Texte Inhalt Allgemeine
Fragen Wofür braucht man eine Versionsverwaltungssoftware? Was sind
die Vorteile einer Versionsverwaltungssoftware? Was ist SVN? Was
ist Git? Was sind die Vorteile von Git gegenüber SVN? Was ist ein
Repository? Welche Befehle musst du ausführen, um dir ein
Repository zu klonen? Was ist eine Arbeitskopie? Welche Befehle
musst du ausführen, um deine Arbeitskopie aus einem entfernten
Repository zu aktualisieren? Was ist ein Commit?
Literaturempfehlungen Git Tutorial – The Ultimate Guide (Julen
Pardo) * Links Permalink zu dieser Podcast-Episode RSS-Feed des
Podcasts Git Git Cheat Sheet Zusammenfassung Git in deiner
IT-Ausbildung Für meine IT-Azubis habe ich Fragen zusammengestellt,
die du mithilfe eines Tutorials selbst bearbeitest und anschließend
mit meinen Antworten abgleichst. Dabei geht es um die Grundlagen
von Git sowie um Regeln, die du für die Arbeit in deinem
Ausbildungsbetrieb kennen musst. Versionsverwaltung gehört zum
Handwerkszeug als Fachinformatiker:in Anwendungsentwicklung und ist
auch für die Prüfung relevant. Ich arbeite bei neuen Projekten mit
Git und verwalte damit auch eigene Texte. In meinem Betrieb kommt
Git für die meisten Repositories zum Einsatz; einige ältere
Projekte liegen noch in Subversion. Dateien versionieren und
Änderungen nachvollziehen Wenn du an einem Programm
weiterarbeitest, kannst du einzelne Stände in einer
Versionsverwaltung speichern und später wiederherstellen. Die
Historie zeigt dir, welche Person eine Datei zu welchem Zeitpunkt
verändert hat. Eine aussagekräftige Commit-Nachricht hält außerdem
fest, warum etwas geändert wurde. Änderungen ansehen: Ein Diff
zeigt die Unterschiede zwischen zwei Ständen. Bei Textdateien
lassen sich hinzugefügte oder entfernte Zeilen gezielt erkennen,
etwa wenn ich einen Text von dir korrigiere. Zu einem gespeicherten
Stand zurückkehren: Falls du beim Ausprobieren eine Datei löschst
oder dein Programm beschädigst, kannst du einen früheren Stand
wiederherstellen. Fehler untersuchen: Über die Historie findest du
heraus, wer eine betroffene Codezeile zuletzt bearbeitet hat und in
welchem Zusammenhang das passiert ist. Quellcode im Browser
ansehen: Über eine passende Weboberfläche kannst du Dateien und
ihre Änderungen durchgehen. Textdateien eignen sich besonders gut
zum Versionieren, weil sich ihre Unterschiede zeilenweise
darstellen lassen. Auch Bilder und andere binäre Dateien können
verwaltet werden, wobei neue Stände mehr Speicherplatz beanspruchen
können. Wie Subversion und Git arbeiten Subversion Bei Subversion,
kurz SVN, liegt das Repository auf einem zentralen Server. Du
bearbeitest deine Dateien lokal und überträgst einen fertigen Stand
an diesen Server, der die neue Version mit den zugehörigen Angaben
speichert. Für solche Schritte muss der Server erreichbar sein. Die
gespeicherten Versionen heißen Revisionen und erhalten fortlaufende
Nummern. Git Mit Git liegt die gesamte Projekthistorie auf deiner
Festplatte. Dadurch kannst du offline neue Versionen erzeugen und
frühere Änderungen ansehen. Viele Arbeitsschritte laufen lokal und
entsprechend schnell ab. Solange du eigene Commits noch mit
niemandem geteilt hast, kannst du sie korrigieren, beispielsweise
wenn du eine Datei vergessen hast. Für die Zusammenarbeit lässt
sich dein lokales Repository mit einem entfernten Remote-Repository
abgleichen. Dort liegen deine Daten zusätzlich außerhalb deines
Rechners. Bevor du einen Stand mit Kolleg:innen teilst, sollte das
Programm lauffähig und zumindest kompilierbar sein, damit sie damit
weiterarbeiten können. Repository und Arbeitskopie Im Repository,
häufig kurz Repo genannt, speichert Git die Versionen deines
Projekts samt Historie. Du kannst es dir als Datenbank vorstellen.
Lokal liegen diese Informationen im Ordner .git innerhalb deines
Projektverzeichnisses. Wenn du diesen Ordner löschst oder seinen
Inhalt von Hand veränderst, kannst du deine lokale Historie
verlieren oder beschädigen. Lass Git diesen Ordner verwalten. In
der Arbeitskopie liegen die Dateien eines konkreten Stands, die du
im Editor öffnest und bearbeitest. Nach dem Klonen stellt Git
normalerweise den aktuellen Stand bereit. Du kannst auch eine
ältere Version auschecken, etwa um dort einen Fehler zu untersuchen
oder einen Patch einzuspielen. Wenn du Dateien in deiner
Arbeitskopie bearbeitest, musst du die Änderungen anschließend
ausdrücklich als neue Version im Repository speichern. Ein
vorhandenes Projekt holen Mit git clone kopierst du ein vorhandenes
Repository auf deinen Rechner. Die Adresse kann beispielsweise auf
einen lokalen Pfad oder auf ein Repository zeigen, das über HTTPS
beziehungsweise SSH erreichbar ist. Welche Adresse und welchen
Zugang du brauchst, klärst du in deinem Ausbildungsbetrieb. Beim
normalen Klonen erhältst du die vollständige Historie des
entfernten Repositories und eine Arbeitskopie, in der du direkt
weiterarbeiten kannst. Bei großen Projekten dauert das
Herunterladen entsprechend länger. Neue Änderungen holen Wenn
Kolleg:innen neue Stände im Remote-Repository bereitgestellt haben,
holst du sie mit git pull. Im beschriebenen einfachen Fall, in dem
du zwischenzeitlich selbst nichts geändert hast, gelangen die neuen
Versionen in dein lokales Repository und deine Arbeitskopie wird
aktualisiert. Mit Push überträgst du eigene Versionen an ein
Remote-Repository, um sie dort bereitzustellen. Was zu einem Commit
gehört Eine gespeicherte Version heißt bei Git Commit. Zu ihr
gehören: der gespeicherte Stand der Dateien, die Angaben zum/zur
Autor:in und der Zeitpunkt, die Commit-Nachricht, der Bezug zum
vorherigen Commit, dem Parent-Commit. Ein Commit kann auch zwei
Parent-Commits haben. Dieses Thema folgt später. Git berechnet aus
den zugehörigen Informationen einen Hash, der als Commit-ID dient.
Eine Hashfunktion erzeugt aus Daten variabler Länge einen Wert
fester Länge, der sich als Prüfsumme verwenden lässt. Schon kleine
Änderungen an den Ausgangsdaten führen bei einem geeigneten
Verfahren zu einem deutlich anderen Hash. Die Commit-ID wird
hexadezimal dargestellt. Um die zeitliche Reihenfolge der Commits
nachzuvollziehen, brauchst du die Historie und die Beziehungen zu
den Parent-Commits. Über die ID kannst du einen gespeicherten
Commit gezielt aufrufen. Material zum Selbstlernen In meinen
Shownotes zur Episode 76 findest du die Fragen und weiterführende
Links. Über meinen Newsletter erhältst du die Fragen auch als
Markdown-Datei zum Bearbeiten oder Ausdrucken. Java Code Geeks: Das
kostenlose Git-Tutorial umfasst ungefähr 40 Seiten und enthält
Beispiele zum Mitmachen. Pro Git von Scott Chacon: Das Buch ist als
kostenloses E-Book und als gedruckte Ausgabe erhältlich.
Pluralsight: Ich verweise auf einen Einstiegskurs und erwähne einen
weiteren Kurs zu den internen Abläufen von Git. Die weiteren Fragen
folgen in einer nächsten Episode. Dazu gehören auch betriebliche
Konventionen und der Zugang zu den Repositories deines
Ausbildungsbetriebs. Für weitere IT-Grundlagen empfehle ich
Together We Make IT. Dort werden unter anderem Firewall und Cloud
Computing verständlich behandelt. Die Folgen dauern meist etwa 20
bis 30 Minuten und enthalten Begriffe, die dir auch bei der
Abschlussprüfung begegnen. Transkription der gesamten Episode
Automatisch erzeugte Transkription der Episode [0:01] Herzlich
Willkommen zum Anwendungsentwickler-Podcast, den Podcast rund um
die Ausbildung zum Fachinformatiker für Anwendungsentwicklung.
[0:10] In dieser Episode gibt es eine Einführung in die
Versionsverwaltungssoftware Git. Viel Spaß dabei! [0:20] Hallo und
herzlich Willkommen zur 76. Episode des
Anwendungsentwickler-Podcasts. [0:26] Mein Name ist Stefan Macke
und heute mache ich mal was Neues, was ich bislang noch nicht
gemacht habe hier im Podcast. [0:33] Ich habe nämlich mal mir ein
fachliches Thema vorgenommen und zwar Git, die
Versionsverwaltungssoftware Git, die du vielleicht sogar schon
kennst oder ich hoffe es mal, ist ja sehr verbreitet heutzutage.
[0:41] Und ich habe mir mal so ein paar Fragen dazu aufgeschrieben,
die ich vor ein, zwei Wochen meinem aktuellen Azubi mitgegeben
habe, [0:48] damit er sich mal mit einem Tutorial, was ich ihm
gleich mitgeschickt habe, so ein bisschen darauf vorbereitet, quasi
selbst so ein bisschen recherchiert, ausprobiert, das Ding
abarbeitet und dann mir die Fragen beantwortet. ...
Kommentare (0)
Melde dich an, um einen Kommentar zu schreiben.