CodeGym /Java-Blog /Random-DE /Eine himmlische Kombination: Git und IntelliJ IDEA
John Squirrels
Level 41
San Francisco

Eine himmlische Kombination: Git und IntelliJ IDEA

Veröffentlicht in der Gruppe Random-DE
Der bewährten Tradition folgend begrüße ich Sie als künftige Senior Software Engineers. Eine himmlische Kombination: Git und IntelliJ IDEA – 1Der heutige Artikel ist die logische Erweiterung meines Artikels über Git . Im Artikel über Git habe ich beschrieben, wie man mit Git auf der Kommandozeile arbeitet. Heute zeige ich Ihnen, wie Sie das alles in IntelliJ IDEA machen. Zu Beginn meiner Reise als Entwickler nutzte ich die Befehlszeile und dachte, dass ich dafür keine GUI benötige. Schließlich war alles klar, so wie es war ... Aber das war bis zu dem Moment, als ich anfing, Git in IntelliJ IDEA zu verwenden ... Zunächst möchte ich sagen, dass ich meine persönlichen Erfahrungen beschreibe. Es gibt mehrere Möglichkeiten, ein bestimmtes Problem in IntelliJ IDEA zu lösen. Wenn Sie einen besseren Weg kennen, als ich im Artikel beschreibe, schreiben Sie ihn in die Kommentare und wir besprechen ihn.

Erforderliche Eingaben:

  1. Lesen Sie meinen Artikel über Git , folgen Sie ihm und verstehen Sie ihn . Dadurch wird sichergestellt, dass alles eingerichtet und betriebsbereit ist.
  2. Installieren Sie IntelliJ IDEA.
  3. Planen Sie eine Stunde persönliche Zeit ein, um die vollständige Meisterschaft zu erlangen.
Lassen Sie uns mit dem Demoprojekt arbeiten , das ich für den Artikel über Git verwendet habe. AKTUALISIEREN:Zum Zeitpunkt der Veröffentlichung wird die neue GitHub-Benutzeroberfläche verfügbar sein und einige Symbole werden nicht dort sein, wo sie im Artikel angezeigt werden. Seien Sie nicht beunruhigt: Sie müssen nur entweder nicht auf die neue Benutzeroberfläche umsteigen oder danach suchen.

Klonen Sie das Projekt lokal

Hier gibt es zwei Möglichkeiten:
  1. 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.
  2. 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 :)
Um ein Projekt von GitHub zu klonen, müssen Sie den Projektlink kopieren und an IntelliJ IDEA übergeben:
  1. Kopieren Sie die Projektadresse:

    Eine himmlische Kombination: Git und IntelliJ IDEA – 2
  2. Öffnen Sie IntelliJ IDEA und wählen Sie „Von Versionskontrolle abrufen“:

    Eine himmlische Kombination: Git und IntelliJ IDEA – 3
  3. Kopieren Sie die Projektadresse und fügen Sie sie ein:

    Eine himmlische Kombination: Git und IntelliJ IDEA – 4
  4. Sie werden aufgefordert, ein IntelliJ IDEA-Projekt zu erstellen. Angebot annehmen:

    Eine himmlische Kombination: Git und IntelliJ IDEA – 5
  5. Da es kein Build-System gibt und das den Rahmen dieses Artikels sprengen würde, wählen wir Projekt aus vorhandenen Quellen erstellen :

    Eine himmlische Kombination: Git und IntelliJ IDEA – 6
  6. Als nächstes sehen Sie diesen schönen Bildschirm: Eine himmlische Kombination: Git und IntelliJ IDEA – 7Nachdem 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.Eine himmlische Kombination: Git und IntelliJ IDEA – 8Darüber hinaus können Sie die tatsächlichen Änderungen sehen. Wir sehen auch, dass dort ein Konflikt gelöst wurde. IDEA stellt dies auch sehr gut dar. Wenn Sie auf die Datei doppelklicken, die bei diesem Commit geändert wurde, sehen wir, wie der Konflikt gelöst wurde: Eine himmlische Kombination: Git und IntelliJ IDEA – 9Wir stellen fest, dass wir links und rechts die beiden Versionen derselben Datei haben, die zu einer zusammengeführt werden mussten. Und in der Mitte haben wir das endgültige zusammengeführte Ergebnis. Wenn ein Projekt viele Zweige, Commits und Benutzer hat, müssen Sie separat nach Zweig, Benutzer und Datum suchen: Eine himmlische Kombination: Git und IntelliJ IDEA – 10Das Letzte, was ich erklären möchte, bevor wir beginnen, ist, wie man versteht, in welchem ​​Zweig wir uns befinden. Ich gebe es Ihnen Eine Minute, um es herauszufinden ... Hast du es gefunden? Aufgeben? :D In der unteren rechten Ecke gibt es eine Schaltfläche mit der Bezeichnung Git:master. Was auch immer auf „Git:“ folgt, ist der aktuelle Zweig. Wenn Sie auf die Schaltfläche klicken, können Sie viele nützliche Dinge tun: zu einem anderen Zweig wechseln, einen neuen erstellen, einen vorhandenen umbenennen und so weiter.Eine himmlische Kombination: Git und IntelliJ IDEA – 11

Arbeiten mit einem Repository

Nützliche Hotkeys

Für die zukünftige Arbeit müssen Sie sich einige sehr nützliche Hotkeys merken:
  1. STRG+T – Holen Sie sich die neuesten Änderungen aus dem Remote-Repository (git pull).
  2. 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).
  3. 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).
  4. 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.
Eine himmlische Kombination: Git und IntelliJ IDEA – 12

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?
  1. Rufen Sie alle aktuellen Änderungen im Hauptzweig ab (z. B. „master“).

  2. Erstellen Sie von diesem Hauptzweig aus einen separaten Zweig für Ihre Arbeit.

  3. Implementieren Sie die neue Funktionalität.

  4. 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 ).

  5. Übertragen Sie Ihre Änderungen per Push an das Remote-Repository.
Was als nächstes kommt, hängt von Ihren Aufgaben und Ihrer Vorstellungskraft ab.

Ä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 : Eine himmlische Kombination: Git und IntelliJ IDEA – 13Sie können nun sehen, wie sich die README-Datei geändert hat, dh die Änderungen aus dem Remote-Repository wurden übernommen, und in der unteren rechten Ecke sehen Sie alle Details zu den Änderungen, die vom Server kamen.Eine himmlische Kombination: Git und IntelliJ IDEA – 14

Erstellen Sie einen neuen Zweig basierend auf dem Master

Hier ist alles einfach.
  1. Gehen Sie in die untere rechte Ecke und klicken Sie auf Git:master . Wählen Sie + Neuer Zweig aus .

    Eine himmlische Kombination: Git und IntelliJ IDEA – 15
  2. 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 .

    Eine himmlische Kombination: Git und IntelliJ IDEA – 16

    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: Eine himmlische Kombination: Git und IntelliJ IDEA – 17Die Änderungen sind abgeschlossen. Jetzt können wir einen Commit erstellen. Drücken Sie STRG+K , was uns Folgendes bringt: Eine himmlische Kombination: Git und IntelliJ IDEA – 18Bevor wir einen Commit erstellen, müssen wir uns genau ansehen, was dieses Fenster bietet. Ich habe rote Pfeile hinzugefügt, um Ihnen zu zeigen, wo Sie suchen müssen. Hier gibt es viel Interessantes. Im Abschnitt „Commit-Nachricht“ schreiben wir Text, der mit dem Commit verknüpft ist. Um es dann zu erstellen, müssen wir auf „Commit“ klicken. Ich habe immer noch nicht herausgefunden, wie man das mit einem Hotkey macht. Wenn jemand herausfindet, wie es geht, schreibt mir bitte – das würde mich sehr freuen. Wir schreiben, dass sich die README geändert hat und erstellen den Commit. In der unteren linken Ecke wird eine Warnung mit dem Namen des Commits angezeigt:Eine himmlische Kombination: Git und IntelliJ IDEA – 19

Ü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: Eine himmlische Kombination: Git und IntelliJ IDEA – 20Drücken Sie im Hauptzweig STRG+T , um die neuesten Änderungen vom Remote-Server abzurufen. Wenn Sie sich die Änderungen ansehen, können Sie leicht erkennen, was passiert ist:Eine himmlische Kombination: Git und IntelliJ IDEA – 21Das Wort „völlig“ wurde entfernt. Vielleicht hat jemand aus dem Marketing entschieden, dass es nicht so geschrieben werden sollte, und den Entwicklern die Aufgabe gegeben, es zu aktualisieren. Wir haben jetzt eine lokale Kopie der neuesten Version des Master-Zweigs. Gehen Sie zurück zu readme-improver . Jetzt müssen wir die Änderungen vom Hauptzweig auf unseren umbasieren. Wir machen das: Eine himmlische Kombination: Git und IntelliJ IDEA – 22Wenn Sie alles richtig gemacht und mir gefolgt sind, sollte das Ergebnis einen Konflikt in der README-Datei anzeigen: Eine himmlische Kombination: Git und IntelliJ IDEA – 23Auch hier müssen wir viele Informationen verstehen und aufsaugen. Hier wird eine Liste von Dateien (in unserem Fall eine Datei) angezeigt, die Konflikte aufweisen. Wir können aus drei Optionen wählen:
  1. Akzeptieren Sie Ihre – akzeptieren Sie nur Änderungen aus dem Readme-Improver.
  2. Akzeptieren Sie ihre – akzeptieren Sie nur Änderungen vom Master.
  3. Zusammenführen – entscheiden Sie selbst, was Sie behalten und was Sie verwerfen möchten.
Es ist nicht klar, was sich geändert hat. Wenn es Änderungen im Hauptzweig gibt, müssen diese dort benötigt werden, sodass wir unsere Änderungen nicht einfach akzeptieren können. Dementsprechend wählen wir merge aus : Eine himmlische Kombination: Git und IntelliJ IDEA – 24Hier sehen wir, dass es drei Teile gibt:
  1. Dies sind die Änderungen aus dem Readme-Improver.
  2. Das zusammengeführte Ergebnis. Im Moment ist es das, was vor den Änderungen existierte.
  3. Die Änderungen aus dem Hauptzweig.
Wir müssen ein zusammengeführtes Ergebnis erzielen, das alle zufriedenstellt. Wenn wir uns ansehen, was VOR unseren Änderungen geändert wurde, stellen wir fest, dass einfach das Wort „völlig“ entfernt wurde. Okay, kein Problem! Das bedeutet, dass wir es auch im zusammengeführten Ergebnis entfernen und dann unsere Änderungen hinzufügen. Sobald wir das zusammengeführte Ergebnis korrigiert haben, können wir auf Übernehmen klicken . Dann erscheint eine Benachrichtigung, die uns mitteilt, dass das Rebase erfolgreich war: Eine himmlische Kombination: Git und IntelliJ IDEA – 25Da! Wir haben unseren ersten Konflikt durch IntelliJ IDEA gelöst :D

Ü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: Eine himmlische Kombination: Git und IntelliJ IDEA – 26Auf der linken Seite wird eine Liste der Commits angezeigt, die nicht in das Remote-Repository übertragen wurden. Auf der rechten Seite werden alle Dateien angezeigt, die geändert wurden. Und das ist es! Drücken Sie Push und Sie werden Glück erleben :) Wenn der Push erfolgreich ist, sehen Sie unten rechts eine Benachrichtigung wie diese:Eine himmlische Kombination: Git und IntelliJ IDEA – 27

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: Eine himmlische Kombination: Git und IntelliJ IDEA – 28Klicken Sie auf Compare & pull request . Klicken Sie dann auf Pull-Anfrage erstellen . Da wir die Konflikte im Voraus gelöst haben, können wir jetzt beim Erstellen einer Pull-Anfrage diese sofort zusammenführen: Eine himmlische Kombination: Git und IntelliJ IDEA – 29Und das ist alles, was ich dieses Mal sagen wollte. Natürlich habe ich für euch die Tür nur ein wenig geöffnet und euch einen kleinen Teil gezeigt. Den Rest erfahren Sie nach Bedarf. Ich habe die Angewohnheit, Sie einzuladen, mir auf GitHub zu folgen, wo ich meine Projekte mit verschiedenen Technologien poste, die ich bei der Arbeit verwende. Kürzlich habe ich einen persönlichen Erfolg erzielt: Eines meiner Projekte wurde von mehr als hundert Entwicklern mit Sternen ausgezeichnet. Es ist ein unglaubliches Gefühl der Freude, wenn man weiß, dass das, was man getan hat, von jemand anderem genutzt wird. Und es für immer nutzen.

Nützliche Links

  1. CodeGym: Erste Schritte mit Git: eine umfassende Anleitung für Neulinge
  2. GitHub: Demoprojekt zum Üben
  3. JetBrains: Richten Sie ein Git-Repository ein
  4. GitHub: Mein Konto
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION