Git - 'Zeitschrank für Code-Reisen'

Git - Technologie zum Speichern und Wiederherstellen jedes Moments des Projekts "Zeitreise-Schrank für Code". Git ist ein Zeitreise-Schrank, der jeden Moment des Codes aufzeichnet und eine kollaborative Technologie ermöglicht.

bamchi 407

Git - Technologie zum Speichern und Wiederherstellen jedes Moments des Projekts "Zeitschrank für Zeitreisen von Code"

Beim Entwickeln stößt man unweigerlich auf solche Momente:

  • "Warum funktioniert der Code von gestern heute nicht mehr?"

  • "Was habe ich gerade geändert?"

  • "Ich möchte vor der Entwicklung dieser Funktion sicher ein Backup machen..."

  • "Kann ich zu der Version von vor 3 Monaten zurückkehren?"

  • "Wer hat diese Datei wann geändert?"

Git ist genau dafür entstanden, um diese Probleme zu lösen.

Und Git kann wie folgt zusammengefasst werden.

Git = Zeitschrank, der jeden Moment des Codes aufzeichnet.

Sie können jederzeit in die Vergangenheit zurückkehren und

mit anderen teilen, ohne Konflikte zusammenarbeiten.


1. Git ist keine Technologie zum Speichern von Dateien

→ Es ist eine Technologie zum Speichern von "Veränderungen"

Computer speichern Dateien,

Git speichert Spuren von Veränderungen (Delta).

Angenommen, eine Datei wurde wie folgt geändert:

- name = "bamcoding"
+ name = "bamchi"

Git speichert nicht die gesamte Datei erneut.

Es protokolliert nur die Tatsache, dass diese Zeile so geändert wurde.

Dank dieser Methode ist Git:

  • extrem leicht

  • schnell

  • effizient

  • und kann Aufzeichnungen aus der Vergangenheit fast unbegrenzt speichern

Mit anderen Worten,

Git = Änderungsverfolgungssystem (Change Tracking System)


2. Kernstruktur der Metapher des "Zeitschrankes"

Die grundlegenden Konzepte von Git werden durch die Metapher des Schrankes klar strukturiert.

Repository (Speicherort) = Mein eigener Zeitschrank für Zeitreisen

Hier werden alle Versionen des Projekts gespeichert.

Commit = Moment, in dem der Schrank geschlossen und "klick" gemacht wird

Ein Snapshot wird gespeichert.

Branch = Eine weitere Zeitlinie im Schrank

Es öffnet eine neue Weltlinie für die Entwicklung einer anderen Version.

Merge = Akt des Zusammenführens von Zeitlinien

Verschiedene Realitäten werden zu einer vereint.

Checkout = Bewegen zu einem bestimmten Zeitpunkt

Springe zu gestern, letzten Monat, Zustand vor einem Jahr.

Wenn man diese Metapher versteht,

wird Git plötzlich einfach.


3. Warum man sich keine Sorgen macht, wenn der Code kaputt geht

→ "Weil immer alle früheren Versionen im Schrank bleiben"

Wer Git benutzt, gewinnt dieses Vertrauen.

"Was ist, wenn etwas schief geht? Dann gehe ich zurück."

Ein Commit zu machen bedeutet,

einen neuen Schrank zu öffnen.

So kann man leicht zurückgehen:

git checkout <Vergangenheitsversion>

Oder:

git revert

Diese Fähigkeit gibt Anfängern ein enormes Gefühl der Sicherheit.

Man hat keine Angst vor dem Scheitern,

und man kann neue Experimente frei durchführen.

Das beschleunigt wiederum das Lernen.


4. Der absolute Grund, warum Git in der Zusammenarbeit unerlässlich ist

→ Weil mehrere Personen in derselben Schublade jeweils eigene Schubladen erstellen können

Das wahre Potenzial von Branches.

Wenn zum Beispiel 5 Personen gleichzeitig arbeiten:

  • A arbeitet an der Anmeldungsfunktion

  • B an der Zahlungsfunktion

  • C an der UI-Änderung

  • D an der Fehlerbehebung

  • E an der Administratorfunktion

Es könnte zu Konflikten kommen, wenn sie alle am selben Projekt arbeiten...

Aber da jeder in seinem eigenen Branch (Zeitlinie) arbeitet,

mischen sich die Codes nicht.

Wenn alle Arbeiten abgeschlossen sind,

können sie zur richtigen Zeitpunkt mit einem Merge zusammengeführt werden.

Git = Technologie zur Trennung von Zeitlinien, die eine Zusammenarbeit ohne Konflikte ermöglicht


5. Kernfunktionen von Git, die Entwickler stärker machen

1) Jeder Moment wird protokolliert

Alle Änderungen an Dokumenten, Code und Projekten werden protokolliert.

2) Rückkehr in die Vergangenheit jederzeit möglich

Die Angst vor Fehlern verschwindet.

3) Experimente sind frei (Branches)

Es ist möglich, neue Funktionen zu testen.

4) Zusammenarbeit möglich

Dutzende von Personen können an einer Codebasis arbeiten.

5) Stabile Versionenveröffentlichung und -freigabe

80% der Schwierigkeiten bei der Veröffentlichung entstehen, weil man nicht weiß, welche Version vorliegt. Git löst dieses Problem vollständig.


6. Verbindung zwischen Git und Rails-Entwicklung

→ Rails ist ein schnelles und riskantes Entwicklungsframework

Git ist das Sicherheitsnetz, das mit diesem Risiko umgeht.

Rails ist schnell.

Mit der Geschwindigkeit kommen jedoch auch häufig Fehler vor.

Aber mit Git ist das kein Problem.

git commit -m "Initialversion speichern"
git checkout -b login-feature
# Funktion entwickeln...
git checkout main
git merge login-feature

Die Kombination aus der Geschwindigkeit von Rails und der Stabilität von Git

ergibt den stärksten Entwicklungszyklus.


7. In der Ära der KI wird Git noch mächtiger

Denn obwohl KI den Code schreiben kann,

KI kann

nicht selbst die Metadaten wie

"wo welche Version gespeichert ist"

oder "welche Änderung in welchem Branch stattgefunden hat"

ordnen.

Das ist die Rolle des menschlichen Entwicklers.

Selbst wenn wir KI den Code bearbeiten lassen,

ist es ohne Git gefährlich.

Denn durch Git können wir

die von KI vorgenommenen Änderungen überprüfen und

bei Bedarf rückgängig machen.


Fazit - Git ist kein einfaches Versionsverwaltungstool. Es ist eine Technologie, die die "gesamte Zeit" von Code und Projekten behandelt.

Git kann so zusammengefasst werden.

Git = Speichern aller Momente des Projekts und

ermöglicht es, jederzeit in die Vergangenheit zurückzukehren, ein Zeitschrank für Zeitreisen von Code.

Dank dieser Fähigkeit können Entwickler:

  • experimentieren

  • Fehler machen

  • korrigieren

  • zusammenarbeiten

  • die Version des Dienstes stabil halten

Das Erlernen von Git ist

wie das Erlernen der "physikalischen Gesetze" des Umgangs mit Code.

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

Weiterlesen

Get notified of new posts

We'll email you when Bamchi Blog publishes new content.

Your email will only be used for new post notifications.