Wie man Menschen den Umgang mit Git beibringt

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:
    • Remote-Repository

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 :

  • : fetch
  • : merge

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




, : .

, : , , , .


(Visual SourceSafe, TFS Subversion): , , . , .




, Git .

Hacker News:


Reddit, , «, Git», , , Git Pro Git. , . , . !

, Hacker News, u/cryptoz, Reddit!

Source: https://habr.com/ru/post/de437000/


All Articles