JavaRush /Java-Blog /Random-DE /Verbinden wir Git mit Intellij IDEA

Verbinden wir Git mit Intellij IDEA

Veröffentlicht in der Gruppe Random-DE
Traditionell begrüße ich Sie, zukünftige Senior Software Engineers. Verbinden wir Git mit Intellij IDEA - 1Heute sprechen wir über die logische Fortsetzung meines Artikels über Git . Ich empfehle außerdem, das Material zu Verzweigungsstrategien zu lesen , das ich zuvor veröffentlicht habe. Im Artikel über Git habe ich beschrieben, wie man damit in der Befehlszeile arbeitet, und heute zeige ich Ihnen, wie man das alles in Intellij IDEA macht. Zu Beginn meiner Reise als Entwickler habe ich die Befehlszeile verwendet und dachte, dass ich für diese Angelegenheit keine Notwendigkeit habe, die Benutzeroberfläche zu verwenden. Schließlich ist alles klar und so... Aber das war genau bis zu dem Moment, als ich anfing, Git in Intellij IDEA zu verwenden... Ich möchte gleich sagen, dass ich meine persönlichen Erfahrungen beschreiben werde. Es gibt mehrere Möglichkeiten, dieselben Probleme mit Intellij IDEA zu lösen. Wenn Sie wissen, wie Sie das, was ich im Artikel beschreibe, besser machen können, schreiben Sie es in die Kommentare und wir diskutieren darüber.

Notwendige einleitende Hinweise:

  1. Lesen, wiederholen und verstehen Sie den Artikel über Git . Dadurch wird sichergestellt, dass alles bereits eingerichtet und einsatzbereit ist.
  2. Installieren Sie Intellij IDEA.
  3. Nehmen Sie sich eine Stunde Zeit für die vollständige Aufnahme.
Nehmen wir für die Arbeit das Demoprojekt , das ich für den Artikel über Git verwendet habe. AKTUALISIEREN:Zum Zeitpunkt der Veröffentlichung wird die neue Github-Benutzeroberfläche bereits verfügbar sein und einige Symbole werden nicht dort sein, wo sie im Artikel angezeigt werden. Seien Sie nicht beunruhigt: Sie müssen 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 auf sich selbst zu übertragen und Ihre Kopie zu klonen. Wie man einen Fork erstellt – ich habe in diesem Artikel im Kapitel ein Beispiel für den Fork-Workflow beschrieben .
  2. Klonen Sie aus meinem Repository und erledigen Sie alles lokal, ohne die Möglichkeit zu haben, das Ganze auf den Server zu übertragen. Schließlich wird dies mein Repository sein))
Um ein Projekt von Github zu klonen, müssen Sie den Link zum Projekt kopieren und an IntelliJ IDEA übergeben:
  1. Kopieren Sie die Projektadresse:

    Verbinden wir Git mit Intellij IDEA - 2
  2. Öffnen Sie Intellij IDEA und wählen Sie „Aus Versionskontrolle abrufen“:

    Verbinden wir Git mit Intellij IDEA - 3
  3. Kopieren Sie die Adresse und fügen Sie sie in das Projekt ein:

    Verbinden wir Git mit Intellij IDEA - 4
  4. Sie werden aufgefordert, ein Intellij IDEA-Projekt zu erstellen. Wir nehmen das Angebot an:

    Verbinden wir Git mit Intellij IDEA - 5
  5. Da es kein Build-System gibt und dies nicht Gegenstand des Artikels ist, wählen Sie „ Projekt aus vorhandenen Quellen erstellen“ aus :

    Verbinden wir Git mit Intellij IDEA - 6
  6. Als nächstes folgt das folgende Ölgemälde: Verbinden wir Git mit Intellij IDEA - 7Wir haben das Klonen geklärt, jetzt können wir uns umschauen.

Schauen Sie sich zunächst Intellij IDEA als Git-Benutzeroberfläche an

Schauen Sie sich das geklonte Projekt noch einmal genau an: Schon dort können Sie viele Informationen über das Versionskontrollsystem erhalten. Das erste ist das Versionskontrollfeld in der unteren linken Ecke. Darin finden Sie alle lokalen Änderungen und erhalten eine Liste der Commits (analog zu Git Log). Fahren wir mit der Log- Vorlesung fort . Es gibt eine gewisse visuelle Komponente, die hilft, genau zu verstehen, wie der Entwicklungsprozess abgelaufen ist. Sie können beispielsweise sehen, dass ein neuer Zweig mit einem zu txt hinzugefügten Commit-Header 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 Änderungen und seine Metadaten. Verbinden wir Git mit Intellij IDEA - 8Darüber hinaus können Sie sehen, welche Änderungen vorgenommen wurden. Außerdem wurde der Konflikt dort gelöst. IDEA zeigt dies auch perfekt. Wenn Sie auf die Datei doppelklicken, die bei diesem Commit geändert wurde, sehen wir, wie der Konflikt gelöst wurde: Verbinden wir Git mit Intellij IDEA - 9Es fällt auf, dass rechts und links zwei Versionen derselben Datei vorhanden waren, die zu einer zusammengeführt werden mussten. Und in der Mitte steht das Endergebnis. Wenn ein Projekt viele Zweige, Commits und Benutzer hat, die im Projekt arbeiten, müssen Sie separat nach Zweig (Zweig), Benutzer (Benutzer) und Datum (Datum) suchen: Verbinden wir Git mit Intellij IDEA – 10Und das Letzte, was ich vor dem Start erklären möchte, ist, wie man es versteht in welcher Branche wir tätig sind. Ich gebe Ihnen eine Minute zum Suchen ... haben Sie es gefunden? Gibst du auf? :D In der unteren rechten Ecke gibt es einen Button Git:master , wobei nach Git: angezeigt wird, in welchem ​​Branch sich das Projekt gerade befindet. Wenn Sie auf die Schaltfläche klicken, können Sie viele nützliche Dinge tun: in einen anderen Zweig wechseln, einen neuen erstellen, einen vorhandenen umbenennen und so weiter. Verbinden wir Git mit Intellij IDEA - 11

Arbeiten mit dem Repository

Nützliche Hotkeys

Um weiterarbeiten zu können, müssen Sie sich einige sehr nützliche Hotkeys merken:
  1. Strg + T – Holen Sie sich die neuesten Änderungen aus einem Remote-Repository (Git Pull).
  2. Strg + K – Alle derzeit verfügbaren Änderungen festschreiben/anzeigen. Dazu gehören sowohl nicht verfolgte als auch geänderte Dateien (siehe meinen Artikel über Git, dies wird dort beschrieben) (Git Commit).
  3. Strg + Umschalt + K ist ein Befehl zum Übertragen von Änderungen an ein Remote-Repository. Alle Commits, die lokal erstellt wurden und noch nicht auf dem Remote-Server liegen, werden zum Push (Git Push) angeboten.
  4. Alt + Strg + Z – Änderungen in einer bestimmten Datei auf den Status des zuletzt erstellten Commits im lokalen Repository zurücksetzen. Wenn Sie das gesamte Projekt in der oberen linken Ecke auswählen, können Sie Änderungen an allen Dateien rückgängig machen.
Verbinden wir Git mit Intellij IDEA - 12

Was wollen wir?

Um zu funktionieren, müssen wir das grundlegende Skript beherrschen, das überall verwendet wird. Die Aufgabe besteht darin, neue Funktionen in einem separaten Zweig zu implementieren und sie in ein Remote-Repository zu übertragen (dann müssen Sie einen weiteren Pull-Request für den Hauptzweig erstellen, dies würde jedoch den Rahmen unseres Artikels sprengen). Was muss ich tun?
  1. Rufen Sie alle aktuellen Änderungen im Hauptzweig ab (z. B. Master).

  2. Erstellen Sie basierend auf dieser Hauptvorlage eine separate Vorlage für Ihre Arbeit.

  3. Implementieren Sie neue Funktionen.

  4. Gehen Sie zum Hauptzweig und prüfen Sie, ob während Ihrer Arbeit neue Änderungen vorgenommen wurden. Wenn nicht, ist alles in Ordnung, und wenn nicht, gehen wir wie folgt vor: Wir gehen zum Arbeitszweig und übertragen die Änderungen vom Hauptzweig auf unseren. Wenn alles gut gelaufen ist, dann großartig. Aber es kann durchaus zu Konflikten kommen. Und sie können im Voraus gelöst werden, ohne Zeit mit einem Remote-Repository zu verschwenden.

    Es scheint, warum sollte man das tun? Dies ist eine Regel des guten Tons, die verhindert, dass Konflikte entstehen, nachdem Sie Ihren Zweig in das lokale Repository verschoben haben (es besteht natürlich die Möglichkeit, dass sie noch bestehen, aber sie wird viel geringer).

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

Änderungen von einem Remote-Server erhalten?

Ich habe der README-Datei mit einem neuen Commit eine Beschreibung hinzugefügt und möchte diese Änderungen erhalten. Wenn Änderungen sowohl im lokalen als auch im Remote-Repository vorgenommen wurden, wird die Wahl zwischen Merge und Rebase angeboten. Wählen Sie eine Zusammenführung aus. Geben Sie Strg + T ein : Verbinden wir Git mit Intellij IDEA – 13Als Ergebnis können Sie sehen, wie sich die README geändert hat, d. h. Änderungen aus dem Remote-Repository wurden abgerufen, und in der unteren rechten Ecke können Sie alle Details zu den Änderungen sehen, die vom Server kamen. Verbinden wir Git mit 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 .

    Verbinden wir Git mit Intellij IDEA – 15
  2. Lassen Sie das Kontrollkästchen „Checkout-Filiale“ stehen und geben Sie den Namen der neuen Filiale ein. Für mich wäre es readme-improver .

    Verbinden wir Git mit Intellij IDEA – 16

    Danach ändert sich Git:master zu Git:readme-improver .

Simulation paralleler Arbeit

Damit Konflikte auftreten, muss jemand sie erstellen :D Ich werde die README mit einem neuen Commit über den Browser bearbeiten und so paralleles Arbeiten simulieren. Es heißt, jemand habe während meiner Arbeit Änderungen an derselben Datei wie ich vorgenommen, was zu einem Konflikt führen würde. Ich werde das Wort „vollständig“ aus Zeile 10 entfernen.

Implementieren Sie Ihre Funktionalität

Die Aufgabe besteht darin, die README-Datei zu ändern und dem neuen Artikel eine Beschreibung hinzuzufügen. Das heißt, die Arbeit im Git wird über Intellij IDEA erledigt. Fügen Sie Folgendes hinzu: Verbinden wir Git mit Intellij IDEA – 17Die Änderungen sind abgeschlossen, jetzt können Sie einen Commit erstellen. Drücken Sie den Hotkey Strg + K , wir erhalten: Verbinden wir Git mit Intellij IDEA – 18Bevor Sie einen Commit erstellen, müssen Sie sich genau ansehen, was in diesem Fenster angeboten wird. Ich habe speziell einen Pfeil hinzugefügt, um Ihnen zu zeigen, wo Sie suchen müssen. Da gibt es viele interessante Dinge. Im Abschnitt „Commit-Nachricht“ schreiben wir den Text des Commits. Damit dieser erstellt wird, müssen Sie auf die Schaltfläche „Commit“ klicken . Ich habe immer noch nicht herausgefunden, wie man das mit einem Hotkey macht. Wenn also jemand es findet, schreiben Sie mir, ich werde sehr glücklich sein. Wir schreiben, dass sich die README geändert hat und erstellen einen Commit. Als Ergebnis erscheint in der unteren linken Ecke eine Warnung mit dem Namen des Commits: Verbinden wir Git mit Intellij IDEA – 19

Überprüfen Sie, ob sich der Hauptzweig geändert hat

Wir haben die Aufgabe erledigt, es funktioniert, wir haben die Tests geschrieben, alles ist in Ordnung. Bevor Sie jedoch auf den Server pushen, müssen Sie prüfen, ob in dieser Zeit Änderungen im Hauptzweig stattgefunden haben. Wie konnte das passieren? Es ist ganz einfach: Jemand hat nach Ihnen eine Aufgabe bekommen, und dieser Jemand hat sie schneller erledigt als Sie. Daher wechseln wir in den Hauptzweig. Dazu müssen Sie in der unteren rechten Ecke das tun, was in der folgenden Abbildung dargestellt ist: Verbinden wir Git mit Intellij IDEA – 20Drücken Sie im Hauptzweig Strg + T , um die neuesten Änderungen vom Remote-Server abzurufen. Wenn man sich ansieht, welche Änderungen vorgenommen wurden, kann man leicht erkennen, was passiert ist: Verbinden wir Git mit Intellij IDEA – 21Wie Sie sehen, wurde das Wort „vollständig“ entfernt. Vielleicht war es jemand aus dem Marketing, der entschieden hat, dass es so nicht geschrieben werden kann, und den Entwicklern die Aufgabe gegeben hat, es zu aktualisieren. Wir haben jetzt die neueste Version des Master-Zweigs lokal. Gehen wir zurück zum Readme-Improver . Jetzt müssen wir die Änderungen vom Hauptzweig auf unseren umbasieren. Wir tun es: Verbinden wir Git mit Intellij IDEA – 22Wenn Sie bei mir alles richtig befolgt haben, sollte das Ergebnis ein Konflikt in der README-Datei sein: Verbinden wir Git mit Intellij IDEA – 23Auch hier gibt es viele Informationen, die verstanden und aufgenommen werden müssen. Dies zeigt eine Liste (in unserem Fall ein Element) von Dateien, die Konflikte haben. Wir können 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 entfernen möchten.
Es ist nicht klar, was sich dort geändert hat, und wenn die Änderungen im Master sind, dann werden sie dort benötigt, und wir können unsere Änderungen nicht einfach akzeptieren, also wählen wir „ Zusammenführen“ : Verbinden wir Git mit Intellij IDEA – 24Hier sehen Sie, dass es drei Teile gibt:
  1. Dies sind Änderungen aus dem Readme-Improver.
  2. Ergebnis. Im Moment ist es dasselbe wie vor den Änderungen.
  3. Änderungen aus der Hauptniederlassung.
Wir müssen das Ergebnis so sammeln, dass es alle zufriedenstellt. Deshalb haben wir studiert, was sie VOR uns getan haben, und festgestellt, dass sie einfach das Wort „vollständig“ entfernt haben. Na gut, kein Problem. Das bedeutet, dass wir es als Ergebnis entfernen und unsere Änderungen hinzufügen. Sobald wir das Ergebnis korrigiert haben, können Sie auf Übernehmen klicken . Danach erscheint eine Benachrichtigung, dass das Rebase erfolgreich war: Verbinden wir Git mit Intellij IDEA – 25So haben wir unseren ersten Konflikt durch Intellij IDEA gelöst :D

Übertragen Sie Änderungen an einen 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 , woraufhin wir Folgendes erhalten: Verbinden wir Git mit Intellij IDEA – 26Auf der linken Seite wird eine Liste der Commits angezeigt, die nicht in das Remote-Repository übertragen wurden, und auf der rechten Seite werden alle Dateien angezeigt, die bereits übertragen wurden geändert. Das ist alles: Klicken Sie auf Push und Sie werden glücklich sein :) Wenn der Push erfolgreich ist, wird in der unteren rechten Ecke eine Benachrichtigung wie diese angezeigt: Verbinden wir Git mit Intellij IDEA – 27

Bonusteil

Ich wollte dem Artikel zunächst nicht die Erstellung eines Pull-Requests hinzufügen, aber er erweist sich dadurch als nicht sehr vollständig. Deshalb gehen wir zum GitHub-Repository (wenn es natürlich Ihres ist))))) und sehen, dass GitHub bereits weiß, was es uns anzubieten hat: Verbinden wir Git mit Intellij IDEA – 28Klicken Sie auf „Vergleichen und Pull-Anfrage“ und dann auf „ Pull-Anfrage erstellen“ . Dadurch, dass wir Konflikte im Vorfeld gelöst haben, können Sie nun beim Erstellen eines Pull-Requests diesen sofort zusammenführen: Verbinden wir Git mit Intellij IDEA – 29Das ist alles, was ich Ihnen dieses Mal sagen wollte. Natürlich habe ich einfach die Tür geöffnet und euch einen kleinen Teil gezeigt. Den Rest besorgen Sie sich nach Bedarf selbst. Wie immer lade ich Sie ein, mein GitHub-Konto zu abonnieren , wo ich Projekte poste, die auf verschiedenen Technologien basieren, die ich bei der Arbeit verwende. Kürzlich konnte ich einen persönlichen Erfolg verzeichnen: Mein Projekt wurde bereits von mehr als hundert Entwicklern bewertet. Es ist ein unglaubliches Gefühl der Freude, dass jemand das verwendet, was Sie gemacht haben. Und nutzt es für das Gute.

Nützliche Links

  1. JavaRush: Erste Schritte mit Git: eine ausführliche Anleitung für Anfänger
  2. GitHub: Demoprojekt zum Arbeiten
  3. JavaRush: Analyse von Verzweigungsstrategien in Git
  4. JetBrains: Richten Sie ein Git-Repository ein
  5. Habr: Git-Rebase
  6. GitHub: Mein Konto
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION