Für die Arbeit muss ich an verschiedenen Projekten teilnehmen, damit ich genau weiß, wie alle meine Kollegen arbeiten. Ich erinnere mich, dass das Unternehmen Git erst einige Wochen vor meiner Ankunft einsetzte. Auf den Monitoren der Entwickler hingen rundum Aufkleber mit einer Erinnerung: erst hinzufügen, dann festschreiben, dann drücken.
Sie wussten nicht warum. Die Programmierer wurden einfach angewiesen, die Anweisungen genau zu befolgen, sonst die Probleme. Aber Probleme traten so oft auf, dass ich mich entschied, einen Git-Workshop zu veranstalten.
Idee
Ich mag es in meinem Kopf abzubilden. Ich sage nicht "mentale Karten", weil es sich um eine bekannte Art von Diagramm handelt. Es geht um einige Bilder, Strukturen oder irgendeine grafische Darstellung im Kopf. Als Kind habe ich zum Beispiel das Rechnen gelernt, indem ich Würfel eingeführt habe.
Also habe ich ein paar Zeichnungen vorbereitet. Es ist nicht notwendig, sie zu beobachten, um den Text zu verstehen. Es gibt für jeden eine Erklärung.
Darüber hinaus ist es sehr wichtig, einer Person Begriffe beizubringen. Andernfalls wird er die Nachrichten von Git nicht verstehen. Zeichnungen sind ein guter Weg.
Verteiltes Versionskontrollsystem

In der Abbildung sind vier Bereiche wie folgt verteilt:
- Entwicklungsumgebung:
- Arbeitsverzeichnis
- Zwischenbereich (Inszenierung) oder Index
- Lokales Repository
- Server:
Hier können Sie die Vorteile eines verteilten Versionskontrollsystems erläutern.
Repository-Klonen

Beim Klonen werden Daten aus einem Remote-Repository in zwei Bereiche verschoben:
- Arbeitsverzeichnis
- Lokales Repository
Änderungen am Arbeitsverzeichnis vornehmen

Es gibt zwei Arten von Dateien im Arbeitsverzeichnis:
- Verfolgt : Dateien, die Git kennt.
- Untraceable : die noch nicht hinzugefügt wurden, sodass Git nichts über sie weiß.
Aktualisieren Sie das Remote-Repository

Nachdem die Änderungen im
Arbeitsverzeichnis vorbereitet wurden
, müssen sie dem Staging-Bereich hinzugefügt werden.
Wenn sich dort eine Reihe von Änderungen mit einem gemeinsamen Ziel angesammelt haben, ist es an der Zeit, im
lokalen Repository ein Commit mit einer Nachricht zu diesem Ziel zu erstellen.
Wenn für das
lokale Repository ein oder mehrere Commits zur Freigabe für den Rest der Welt bereitstehen, werden diese an das
Remote-Repository gesendet.
An dieser Stelle können wir über die verschiedenen Zustände der Datei in der Entwicklungsumgebung sprechen:
modifiziert ,
mittelschwer (inszeniert) und
fest (festgeschrieben).

Weiter können Sie erklären:
- :
git diff
- :
git diff --staged
- . .
(fetching)

git fetch
.
(pulling)

git pull
:
,
git pull --rebase
.
fetch + merge
fetch + rebase
. ,
.

, :
.
, : , , , .
(Visual SourceSafe, TFS Subversion): , , . , .
,
Git .
Hacker News:
Reddit, ,
«, Git», , , Git
Pro Git. , . , . !
, Hacker News,
u/cryptoz, Reddit!