CodeGym /Java blog /Véletlen /Mennyországban készült meccs: Git és IntelliJ IDEA
John Squirrels
Szint
San Francisco

Mennyországban készült meccs: Git és IntelliJ IDEA

Megjelent a csoportban
A kialakult hagyományokhoz ragaszkodva, leendő vezető szoftvermérnökként köszöntöm Önt. A mai cikk a Gitről szóló cikkemMennyben készült meccs: Git és IntelliJ IDEA - 1 logikus kiterjesztése . A Gitről szóló cikkben leírtam, hogyan kell a Git-tel dolgozni a parancssorban. Ma megmutatom, hogyan kell mindezt megtenni az IntelliJ IDEA-ban. Fejlesztői utam elején a parancssort használtam, és úgy gondoltam, hogy ehhez nincs szükségem grafikus felhasználói felületre. Végül is minden világos volt, ahogy volt... De ez egészen addig a pillanatig volt, amikor elkezdtem használni a Git-et az IntelliJ IDEA-ban... Kezdettől fogva azt akarom mondani, hogy a személyes tapasztalataimat írom le. Az IntelliJ IDEA bármely adott problémája többféleképpen is megoldható. Ha tudsz jobb módszert, mint amit a cikkben leírok, írd meg kommentben, és megbeszéljük.

Szükséges bemenetek:

  1. Olvassa el, kövesse és értse meg a Gitről szóló cikkemet . Ez segít abban, hogy minden be legyen állítva és használatra kész.
  2. Telepítse az IntelliJ IDEA-t.
  3. Szánjon egy óra személyes időt a teljes mesteri képesség eléréséhez.
Dolgozzunk a demóprojekttel , amelyet a Gitről szóló cikkhez használtam. FRISSÍTÉS:A megjelenés időpontjában az új GitHub felhasználói felület elérhető lesz, és egyes ikonok nem lesznek ott, ahol a cikkben láthatók. Ne ijedjen meg: vagy nem kell átváltania az új felhasználói felületre, vagy meg kell keresnie őket.

Klónozza a projektet helyben

Itt két lehetőség van:
  1. Ha már van GitHub-fiókja, és szeretne valamit később leküldeni, jobb, ha elágazza a projektet, és klónozza a saját példányát.
  2. Klónozza a tárhelyemet, és csináljon mindent helyben, anélkül, hogy az egészet a szerverre küldhetné. Végül is ez az én tárhelyem :)
Projekt klónozásához a GitHubból ki kell másolnia a projekt hivatkozását, és át kell adnia az IntelliJ IDEA-nak:
  1. Másolja ki a projekt címét:

    Mennyben készült meccs: Git és IntelliJ IDEA - 2
  2. Nyissa meg az IntelliJ IDEA alkalmazást, és válassza a "Get from Version Control" lehetőséget:

    Mennyben készült meccs: Git és IntelliJ IDEA - 3
  3. Másolja és illessze be a projekt címét:

    Mennyben készült meccs: Git és IntelliJ IDEA - 4
  4. A rendszer felkéri egy IntelliJ IDEA projekt létrehozására. Az ajánlat elfogadása:

    Mennyben készült meccs: Git és IntelliJ IDEA - 5
  5. Mivel nincs összeállítási rendszer, és ez meghaladja e cikk kereteit, a Projekt létrehozása meglévő forrásokból lehetőséget választjuk :

    Mennyben készült meccs: Git és IntelliJ IDEA - 6
  6. Ezután ezt a gyönyörű képernyőt fogja látni: Mennyben készült meccs: Git és IntelliJ IDEA - 7Most, hogy rájöttünk a klónozásra, körülnézhet.

Első pillantás az IntelliJ IDEA-ra Git felhasználói felületként

Vessen egy pillantást a klónozott projektre: már most rengeteg információhoz juthat a verziókezelő rendszerről. Először is a Verzióvezérlő ablaktáblát találjuk a bal alsó sarokban. Itt megtalálja az összes helyi változtatást, és megkapja a véglegesítések listáját (a „git log”-hoz hasonlóan). Térjünk át a Log tárgyalására . Van egy bizonyos vizualizáció, amely segít megérteni, hogy pontosan hogyan haladt a fejlesztés. Például láthatja, hogy egy új ág jött létre a txt véglegesítéshez hozzáadott fejléccel , amelyet aztán egyesítettek a fő ággal. Ha rákattint egy véglegesítésre, a jobb sarokban láthatja a véglegesítéssel kapcsolatos összes információt: annak összes változását és metaadatait.Mennyben készült meccs: Git és IntelliJ IDEA - 8Ezen kívül láthatja a tényleges változásokat. Azt is látjuk, hogy ott egy konfliktus megoldódott. Az IDEA ezt is remekül mutatja be. Ha duplán kattintunk a véglegesítés során megváltozott fájlra, látni fogjuk, hogyan oldódott meg az ütközés: Megjegyezzük, Mennyben készült meccs: Git és IntelliJ IDEA - 9hogy a bal és a jobb oldalon ugyanannak a fájlnak a két verziója van, amelyeket egybe kellett egyesíteni. És középen megvan a végső összevont eredmény. Ha egy projektnek sok elágazása, véglegesítése és felhasználója van, külön-külön kell keresnie ág, felhasználó és dátum szerint: Mennyországban készült meccs: Git és IntelliJ IDEA - 10Az utolsó dolog, amit el akarok magyarázni a kezdés előtt, az az, hogy hogyan érthetjük meg, melyik ágban vagyunk. egy perc, hogy rájöjjek... Megtaláltad? Felad? :D A jobb alsó sarokban van egy Git: master feliratú gomb. Ami a „Git:” után következik, az az aktuális ág. Ha rákattint a gombra, sok hasznos dolgot tehet: átválthat másik ágra, létrehozhat újat, átnevez egy meglévőt stb.Mennyországban készült meccs: Git és IntelliJ IDEA - 11

Adattárral végzett munka

Hasznos gyorsbillentyűk

A jövőbeni munkához emlékeznie kell néhány nagyon hasznos gyorsbillentyűre:
  1. CTRL+T – Szerezze be a legújabb módosításokat a távoli adattárból (git pull).
  2. CTRL+K — Végrehajtás létrehozása / az összes jelenlegi módosítás megtekintése. Ez magában foglalja mind a nyomon nem követett, mind a módosított fájlokat (lásd a gitről szóló cikkemet, amely ezt elmagyarázza) (git commit).
  3. CTRL+SHIFT+K – Ez a parancs a távoli adattárba történő módosítások leküldésére. Minden helyileg létrehozott és még nem a távoli tárolóban lévő commit le lesz küldve (git push).
  4. ALT+CTRL+Z – Visszagörgetés egy adott fájlban a helyi lerakatban létrehozott utolsó véglegesítés állapotára. Ha a teljes projektet kiválasztja a bal felső sarokban, visszaállíthatja az összes fájl módosításait.
Mennyben készült meccs: Git és IntelliJ IDEA - 12

Mit akarunk?

A munka elvégzéséhez el kell sajátítanunk egy mindenhol használt alapforgatókönyvet. A cél az új funkciók megvalósítása egy külön ágban, majd egy távoli tárolóba való leküldése (ekkor a fő ághoz is létre kell hoznia egy lehívási kérelmet, de ez túlmutat jelen cikk hatókörén). Mi szükséges ehhez?
  1. Szerezze be az összes aktuális változást a fő ágban (például "mester").

  2. Ebből a fő ágból hozzon létre egy külön ágat a munkájához.

  3. Alkalmazza az új funkciót.

  4. Lépjen a fő fiókba, és ellenőrizze, nem történt-e új változás a munka során. Ha nem, akkor minden rendben van. De ha változások történtek, akkor a következőt tesszük: menjünk a működő ágra, és alapozzuk át a változtatásokat a fő ágról a miénkre. Ha minden jól megy, akkor nagyszerű. De teljesen lehetséges, hogy lesznek konfliktusok. Amint megtörténik, ezek egyszerűen megoldhatók előre, anélkül, hogy időt veszítenénk a távoli tárolóban.

    Kíváncsi vagy, miért kell ezt megtenned? Jó modorú, és megakadályozza, hogy konfliktusok forduljanak elő, miután az ágat a helyi adattárba tolja (persze van lehetőség, hogy konfliktusok továbbra is előfordulnak, de ez sokkal kisebb lesz).

  5. Tolja a módosításokat a távoli adattárba.
Hogy mi következik, az a feladataitól és a képzeletétől függ.

Változtatásokat kér a távoli szerverről?

Hozzáadtam egy leírást a README-hoz egy új véglegesítéssel, és szeretném megkapni ezeket a változtatásokat. Ha mind a helyi, mind a távoli tárolóban történtek módosítások, akkor választhatunk az összevonás és az újrabázis között. Az egyesülés mellett döntünk. Írja be a CTRL+T billentyűkombinációt : Mennyben készült meccs: Git és IntelliJ IDEA - 13Most láthatja, hogyan változott a README, azaz a távoli tárolóból húzták be a változtatásokat, és a jobb alsó sarokban láthatja a szerverről érkező változtatások összes részletét.Mennyben készült meccs: Git és IntelliJ IDEA - 14

Hozzon létre egy új ágat a mester alapján

Itt minden egyszerű.
  1. Lépjen a jobb alsó sarokban, és kattintson a Git: master elemre . Válassza az + Új ág lehetőséget .

    Mennyben készült meccs: Git és IntelliJ IDEA - 15
  2. Hagyja bejelölve a Checkout ág jelölőnégyzetét, és írja be az új fiók nevét. Számomra ez a readme-javító lesz .

    Mennyben készült meccs: Git és IntelliJ IDEA - 16

    A Git: master ezután átvált Git: readme-improver -re .

Szimuláljunk párhuzamos munkát

Ahhoz, hogy konfliktusok jelenjenek meg, valakinek létre kell hoznia őket :D A README-t egy új committal fogom szerkeszteni a böngészőn keresztül, így szimulálva a párhuzamos munkát. Mintha valaki változtatásokat végzett volna ugyanabban a fájlban, miközben én dolgoztam rajta. Az eredmény konfliktus lesz. A 10. sorból eltávolítom a „fully” szót.

Valósítsa meg funkcionalitásunkat

A mi feladatunk a README megváltoztatása és leírás hozzáadása az új cikkhez. Vagyis a Gitben végzett munka az IntelliJ IDEA-n keresztül megy. Add hozzá ezt: Mennyben készült meccs: Git és IntelliJ IDEA - 17A változtatások megtörténtek. Most létrehozhatunk egy commit. Nyomd le a CTRL+K billentyűkombinációt , ami a következőket adja: Mennyben készült meccs: Git és IntelliJ IDEA - 18A commit létrehozása előtt alaposan meg kell vizsgálnunk, mit kínál ez az ablak. Piros nyilakat adtam hozzá, hogy megmutassam, hol kell keresni. Sok érdekes dolog van itt. A Commit Message részben a véglegesítéshez kapcsolódó szöveget írunk. Ezután a létrehozásához a Commit gombra kell kattintanunk. Még mindig nem jöttem rá, hogyan kell ezt gyorsbillentyűvel megtenni. Ha valaki megtudja a módját, kérem, írja meg nekem – ez nagyon boldoggá tenne. Azt írjuk, hogy a README megváltozott, és létrehozzuk a véglegesítést. A bal alsó sarokban egy figyelmeztetés jelenik meg a véglegesítés nevével:Mennyben készült meccs: Git és IntelliJ IDEA - 19

Ellenőrizze, hogy megváltozott-e a fő ág

Feladatunkat teljesítettük. Működik. Teszteket írtunk. Minden rendben. De mielőtt továbbítanánk a szerverre, még ellenőriznünk kell, hogy közben történt-e változás a fő ágban. Hogyan történhetett ez meg? Nagyon könnyen: valaki utánad kap egy feladatot, és az a valaki gyorsabban fejezi be, mint ahogy te befejezed. Tehát a mester ágra kell mennünk. Ehhez azt kell tennünk, ami az alábbi képernyőképen látható a jobb alsó sarokban: Mennyországban készült meccs: Git és IntelliJ IDEA - 20A fő ágban nyomja meg a CTRL+T billentyűkombinációt , hogy a legfrissebb módosításokat lekérje a távoli szerverről. Ha megnézi a változásokat, könnyen láthatja, mi történt:Mennyországban készült meccs: Git és IntelliJ IDEA - 21A „fully” szót eltávolították. Lehet, hogy valaki marketinges úgy döntött, hogy ezt nem szabad így írni, és feladatot adott a fejlesztőknek, hogy frissítsék. Mostantól rendelkezésünkre áll a főág legújabb verziójának helyi példánya. Menjen vissza a readme-improverhez . Most át kell alapoznunk a változtatásokat a fő ágról a miénkre. Ezt tesszük: Mennyben készült meccs: Git és IntelliJ IDEA - 22Ha mindent helyesen csinált, és követett velem, az eredmény ütközést mutat a README fájlban: Mennyben készült meccs: Git és IntelliJ IDEA - 23Itt is sok információt kell megértenünk és felszívnunk. Itt látható azon fájlok listája (esetünkben egy fájl), amelyek ütközésben vannak. Három lehetőség közül választhatunk:
  1. fogadja el a sajátját – csak a readme-improver módosításait fogadja el.
  2. fogadd el az övéket – csak a mestertől fogadj el változtatásokat.
  3. összevonás – válassza ki maga, mit szeretne megtartani, és mit dob ​​el.
Nem világos, hogy mi változott. Ha vannak változások, az a fő ág, akkor ott szükség van rájuk, így nem tudjuk egyszerűen elfogadni a változtatásainkat. Ennek megfelelően az egyesítést választjuk : Mennyben készült meccs: Git és IntelliJ IDEA - 24Itt láthatjuk, hogy három részből áll:
  1. Ezek a readme-improver változásai.
  2. Az összevont eredmény. Egyelőre az, ami a változások előtt létezett.
  3. A változások a fő ágból.
Összevont eredményt kell produkálnunk, amely mindenkit kielégít. Áttekintve, hogy mi változott a változtatásaink ELŐTT, rájövünk, hogy egyszerűen eltávolították a „fully” szót. Jó, semmi gond! Ez azt jelenti, hogy azt is eltávolítjuk az egyesített eredményből, majd hozzáadjuk a módosításainkat. Miután kijavítottuk az egyesített eredményt, kattintson az Alkalmaz gombra . Ekkor megjelenik egy értesítés, amely azt mondja, hogy az újrabázis sikeres volt: Mennyben készült meccs: Git és IntelliJ IDEA - 25Tessék! Az első konfliktusunkat az IntelliJ IDEA révén oldottuk meg :D

Tolja a módosításokat a távoli szerverre

A következő lépés a módosítások elküldése a távoli kiszolgálóra, és lekérési kérelem létrehozása. Ehhez egyszerűen nyomja meg a CTRL+SHIFT+K billentyűkombinációt . Ezután a következőt kapjuk: Mennyben készült meccs: Git és IntelliJ IDEA - 26A bal oldalon lesz egy lista azokról a véglegesítésekről, amelyek nem kerültek a távoli tárolóba. A jobb oldalon az összes megváltozott fájl látható. És ez az! Nyomd meg a Push-t és megtapasztalod a boldogságot :) Ha a push sikeres, akkor a jobb alsó sarokban egy ilyen értesítést fogsz látni:Mennyben készült meccs: Git és IntelliJ IDEA - 27

Bónusz rész

Eleinte nem akartam ehhez a cikkhez hozzáadni a pull request létrehozását, de enélkül nem teljesen teljes. Tehát menjünk egy GitHub-tárhelyre (természetesen a tiéd :)), és látjuk, hogy a GitHub már tudja, mit akarunk: Mennyben készült meccs: Git és IntelliJ IDEA - 28Kattintson az Összehasonlítás és kérés lekérése elemre . Ezután kattintson a Lekérési kérelem létrehozása elemre . Mivel a konfliktusokat előre megoldottuk, most a pull kérelem létrehozásakor azonnal összevonhatjuk: Mennyben készült meccs: Git és IntelliJ IDEA - 29És ezúttal csak ennyit szerettem volna elmondani. Természetesen csak egy kicsit nyitottam ki neked az ajtót, és mutattam egy kis részt. A többiről akkor fog tanulni, amikor szüksége van rá. Megszoktam, hogy megkérlek, kövess engem a GitHubon, ahol közzéteszem a munkám során használt különféle technológiákat érintő projektjeimet. A közelmúltban személyes sikert értem el: az egyik projektemet több mint száz fejlesztő csillagozta. Hihetetlen az öröm érzése, ha tudod, hogy amit tettél, azt valaki más használja. És jó célra használja.

Hasznos Linkek

  1. CodeGym: A Git használatának megkezdése: átfogó útmutató kezdőknek
  2. GitHub: Demo projekt gyakorlathoz
  3. JetBrains: Állítson be egy Git Repository-t
  4. GitHub: Saját fiók
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION