
Erforderliche Eingaben:
- Lesen Sie meinen Artikel über Git , folgen Sie ihm und verstehen Sie ihn . Dadurch wird sichergestellt, dass alles eingerichtet und betriebsbereit ist.
- Installieren Sie IntelliJ IDEA.
- Planen Sie eine Stunde persönliche Zeit ein, um die vollständige Meisterschaft zu erlangen.
Klonen Sie das Projekt lokal
Hier gibt es zwei Möglichkeiten:- Wenn Sie bereits über ein GitHub-Konto verfügen und später etwas pushen möchten, ist es besser, das Projekt zu forken und Ihre eigene Kopie zu klonen.
- Klonen Sie mein Repository und erledigen Sie alles lokal, ohne die Möglichkeit zu haben, das Ganze auf den Server zu übertragen. Schließlich ist das mein Repository :)
-
Kopieren Sie die Projektadresse:
-
Öffnen Sie IntelliJ IDEA und wählen Sie „Von Versionskontrolle abrufen“:
-
Kopieren Sie die Projektadresse und fügen Sie sie ein:
-
Sie werden aufgefordert, ein IntelliJ IDEA-Projekt zu erstellen. Angebot annehmen:
-
Da es kein Build-System gibt und das den Rahmen dieses Artikels sprengen würde, wählen wir Projekt aus vorhandenen Quellen erstellen :
-
Als nächstes sehen Sie diesen schönen Bildschirm:
Nachdem wir nun das Klonen herausgefunden haben, können Sie sich umschauen.
Erster Blick auf IntelliJ IDEA als Git-Benutzeroberfläche
Schauen Sie sich das geklonte Projekt genauer an: Sie können bereits viele Informationen über das Versionskontrollsystem erhalten. Zuerst haben wir den Versionskontrollbereich in der unteren linken Ecke. Hier finden Sie alle lokalen Änderungen und erhalten eine Liste der Commits (analog zu „git log“). Kommen wir zur Diskussion von Log . Es gibt eine gewisse Visualisierung, die uns hilft, genau zu verstehen, wie die Entwicklung verlaufen ist. Sie können beispielsweise sehen, dass ein neuer Zweig mit einem hinzugefügten Header zum TXT- Commit erstellt wurde, der dann mit dem Hauptzweig zusammengeführt wurde. Wenn Sie auf einen Commit klicken, sehen Sie in der rechten Ecke alle Informationen zum Commit: alle seine Änderungen und Metadaten.



Arbeiten mit einem Repository
Nützliche Hotkeys
Für die zukünftige Arbeit müssen Sie sich einige sehr nützliche Hotkeys merken:- STRG+T – Holen Sie sich die neuesten Änderungen aus dem Remote-Repository (git pull).
- STRG+K – Commit erstellen / alle aktuellen Änderungen anzeigen. Dazu gehören sowohl nicht verfolgte als auch geänderte Dateien (siehe meinen Artikel über Git, der dies erklärt) (Git Commit).
- STRG+UMSCHALT+K – Dies ist der Befehl zum Übertragen von Änderungen an das Remote-Repository. Alle Commits, die lokal erstellt wurden und sich noch nicht im Remote-Repository befinden, werden gepusht (git push).
- ALT+STRG+Z – Rollback von Änderungen in einer bestimmten Datei auf den Status des letzten im lokalen Repository erstellten Commits. Wenn Sie in der oberen linken Ecke das gesamte Projekt auswählen, können Sie Änderungen in allen Dateien rückgängig machen.

Was wollen wir?
Um unsere Arbeit zu erledigen, müssen wir ein grundlegendes Szenario beherrschen, das überall verwendet wird. Das Ziel besteht darin, neue Funktionen in einem separaten Zweig zu implementieren und sie dann in ein Remote-Repository zu übertragen (dann müssen Sie auch eine Pull-Anfrage an den Hauptzweig erstellen, aber das würde den Rahmen dieses Artikels sprengen). Was ist dazu erforderlich?-
Rufen Sie alle aktuellen Änderungen im Hauptzweig ab (z. B. „master“).
-
Erstellen Sie von diesem Hauptzweig aus einen separaten Zweig für Ihre Arbeit.
-
Implementieren Sie die neue Funktionalität.
-
Gehen Sie zum Hauptzweig und prüfen Sie, ob während unserer Arbeit neue Änderungen vorgenommen wurden. Wenn nicht, dann ist alles in Ordnung. Wenn es jedoch Änderungen gab, gehen wir wie folgt vor: Gehen Sie zum Arbeitszweig und übertragen Sie die Änderungen vom Hauptzweig auf unseren. Wenn alles gut geht, dann großartig. Aber es ist durchaus möglich, dass es zu Konflikten kommt. Tatsächlich können sie einfach im Voraus gelöst werden, ohne Zeit im Remote-Repository zu verschwenden.
Sie fragen sich, warum Sie das tun sollten? Das ist ein gutes Benehmen und verhindert, dass Konflikte auftreten, nachdem Sie Ihren Zweig in das lokale Repository verschoben haben (es besteht natürlich die Möglichkeit, dass weiterhin Konflikte auftreten, aber die Wahrscheinlichkeit wird viel geringer ).
- Übertragen Sie Ihre Änderungen per Push an das Remote-Repository.
Änderungen vom Remote-Server abrufen?
Ich habe der README-Datei mit einem neuen Commit eine Beschreibung hinzugefügt und möchte diese Änderungen erhalten. Wenn Änderungen sowohl im lokalen Repository als auch im Remote-Repository vorgenommen wurden, können wir zwischen einer Zusammenführung und einem Rebase wählen. Wir entscheiden uns für die Fusion. Geben Sie STRG+T ein :

Erstellen Sie einen neuen Zweig basierend auf dem Master
Hier ist alles einfach.-
Gehen Sie in die untere rechte Ecke und klicken Sie auf Git:master . Wählen Sie + Neuer Zweig aus .
Lassen Sie das Kontrollkästchen „Checkout-Filiale“ aktiviert und geben Sie den Namen der neuen Filiale ein. Für mich wird es readme-improver sein .

Git:master ändert sich dann zu Git:readme-improver .
Lassen Sie uns paralleles Arbeiten simulieren
Damit Konflikte auftreten, muss jemand sie erstellen :D Ich werde die README-Datei mit einem neuen Commit über den Browser bearbeiten und so paralleles Arbeiten simulieren. Es ist, als ob jemand Änderungen an derselben Datei vorgenommen hätte, während ich daran gearbeitet habe. Das Ergebnis wird ein Konflikt sein. Ich werde das Wort „völlig“ aus Zeile 10 entfernen.Implementieren Sie unsere Funktionalität
Unsere Aufgabe besteht darin, die README-Datei zu ändern und dem neuen Artikel eine Beschreibung hinzuzufügen. Das heißt, die Arbeit in Git läuft über IntelliJ IDEA. Fügen Sie Folgendes hinzu:


Überprüfen Sie, ob sich der Hauptzweig geändert hat
Wir haben unsere Aufgabe erledigt. Es klappt. Wir haben Tests geschrieben. Alles ist gut. Doch bevor wir auf den Server pushen, müssen wir noch prüfen, ob es zwischenzeitlich Änderungen im Hauptzweig gegeben hat. Wie konnte das passieren? Ganz einfach: Jemand erhält eine Aufgabe nach Ihnen, und dieser Jemand erledigt sie schneller, als Sie Ihre Aufgabe erledigen. Also müssen wir zur Hauptniederlassung gehen. Dazu müssen wir das tun, was in der unteren rechten Ecke im Screenshot unten gezeigt wird:



- Akzeptieren Sie Ihre – akzeptieren Sie nur Änderungen aus dem Readme-Improver.
- Akzeptieren Sie ihre – akzeptieren Sie nur Änderungen vom Master.
- Zusammenführen – entscheiden Sie selbst, was Sie behalten und was Sie verwerfen möchten.

- Dies sind die Änderungen aus dem Readme-Improver.
- Das zusammengeführte Ergebnis. Im Moment ist es das, was vor den Änderungen existierte.
- Die Änderungen aus dem Hauptzweig.

Übertragen Sie Änderungen an den Remote-Server
Der nächste Schritt besteht darin, die Änderungen an den Remote-Server zu übertragen und eine Pull-Anfrage zu erstellen. Drücken Sie dazu einfach STRG+UMSCHALT+K . Dann erhalten wir:

Bonusteil
Die Erstellung einer Pull-Anfrage wollte ich diesem Artikel zunächst nicht hinzufügen, aber ohne sie ist es nicht ganz vollständig. Gehen wir also zu einem GitHub-Repository (natürlich eines, das Ihnen gehört :)) und wir sehen, dass GitHub bereits weiß, was wir wollen:
