JavaRush /Java Blogu /Random-AZ /Git-i Intellij IDEA ilə birləşdirək
Roman Beekeeper
Səviyyə

Git-i Intellij IDEA ilə birləşdirək

Qrupda dərc edilmişdir
Ənənəyə uyğun olaraq, sizi, gələcək Baş Proqram Mühəndislərini salamlayıram. Bu gün GitGit-i Intellij IDEA - 1 ilə birləşdirək haqqında məqaləmin məntiqi davamı haqqında danışacağıq . Mən də əvvəllər dərc etdiyim budaqlanma strategiyaları haqqında materialı oxumağı məsləhət görürəm . Git haqqında məqalədə onunla komanda xəttində necə işləməyi təsvir etdim və bu gün Intellij IDEA-da bütün bunları necə edəcəyinizi sizə göstərəcəyəm. Bir tərtibatçı kimi səyahətimin əvvəlində əmr satırından istifadə etdim və bu məsələ üçün UI-dən istifadə etməyə ehtiyacım olmadığını düşündüm. Axı, hər şey aydındır və belədir... Amma bu, məhz Intellij IDEA-da Git-dən istifadə etməyə başlayana qədər idi... Dərhal demək istəyirəm ki, şəxsi təcrübəmi təsvir edəcəyəm. Intellij IDEA-dan istifadə edərək eyni problemləri həll etmək üçün bir neçə variant var və məqalədə təsvir etdiyim şeyi daha yaxşı necə edəcəyinizi bilirsinizsə, şərhlərdə yazın və müzakirə edəcəyik.

Lazımi giriş qeydləri:

  1. git haqqında məqaləni oxuyun, təkrarlayın və anlayın . Bu, hər şeyin artıq qurulduğunu və getməyə hazır olmasını təmin edəcək.
  2. Intellij IDEA quraşdırın.
  3. Tam udma üçün bir saatlıq şəxsi vaxt ayırın.
İş üçün, git haqqında məqalə üçün istifadə etdiyim demo layihəsini götürək .YENİLƏNİB:Nəşr zamanı yeni Github UI artıq mövcud olacaq və bəzi nişanlar məqalədə göstərildiyi yerdə olmayacaq. Narahat olmayın: ya yeni UI-yə keçməməli, ya da onları axtarmalı olacaqsınız.

Layihəni yerli olaraq klonlayın

Burada iki variant var.
  1. Əgər artıq bir Github hesabınız varsa və daha sonra nəyisə itələmək istəyirsinizsə, layihəni özünüzə bağlamaq və surətinizi klonlaşdırmaq daha yaxşıdır. Bir çəngəl necə etmək olar - mən bu məqalədə fəsildə çəngəl işinin bir nümunəsini təsvir etdim .
  2. Anbarımdan klonlayın və hər şeyi serverə itələmək imkanı olmadan hər şeyi yerli olaraq edin. Axı bu mənim depom olacaq))
Github-dan layihəni klonlaşdırmaq üçün layihəyə keçidi kopyalayıb IntelliJ IDEA-ya ötürməlisiniz:
  1. Layihə ünvanını kopyalayın:

    Git-i Intellij IDEA - 2 ilə birləşdirək
  2. Intellij IDEA-nı açın və Versiya Nəzarətindən Get seçin:

    Git-i Intellij IDEA - 3 ilə birləşdirək
  3. Ünvanı layihəyə kopyalayın və yapışdırın:

    Git-i Intellij IDEA - 4 ilə birləşdirək
  4. Sizdən Intellij IDEA layihəsi yaratmağınız təklif olunacaq. Təklifi qəbul edirik:

    Git-i Intellij IDEA - 5 ilə birləşdirək
  5. Quraşdırma sistemi olmadığından və bu məqalənin əhatə dairəsi olmadığından, Mövcud mənbələrdən layihə yarat seçin :

    Gəlin Git-i Intellij IDEA - 6 ilə birləşdirək
  6. Sonra belə bir yağlıboya tablo olacaq: Git-i Intellij IDEA - 7 ilə birləşdirəkBiz klonlamağı sıraladıq, indi ətrafa baxa bilərik.

Əvvəlcə Intellij IDEA-ya Git UI kimi baxın

Klonlaşdırılmış layihəyə daha yaxından nəzər salın: artıq orada versiyaya nəzarət sistemi haqqında çoxlu məlumat əldə edə bilərsiniz. Birincisi, aşağı sol küncdəki Versiya İdarəetmə panelidir. Orada bütün yerli dəyişiklikləri tapa və öhdəliklərin siyahısını əldə edə bilərsiniz (git log analoqu). Gəlin Log mühazirəsinə keçək . İnkişaf prosesinin tam olaraq necə getdiyini anlamağa kömək edən müəyyən vizual komponent var. Məsələn, görə bilərsiniz ki, txt -ə başlıq əlavə edilmiş yeni filial yaradılıb və sonra bu filial master filiala birləşdirilib. Əgər öhdəliyə klikləsəniz, sağ küncdə öhdəliyə dair bütün məlumatları görə bilərsiniz: bütün dəyişikliklər və onun metadatası. Git-i Intellij IDEA - 8 ilə birləşdirəkÜstəlik, hansı dəyişikliklərin edildiyini görə bilərsiniz. Üstəlik, münaqişə orada həll olunub. IDEA da bunu mükəmməl şəkildə göstərir. Bu öhdəçilik zamanı dəyişdirilmiş faylın üzərinə iki dəfə klik etsəniz, münaqişənin necə həll edildiyini görərik: Git-i Intellij IDEA - 9 ilə birləşdirəkSağda və solda eyni faylın birləşdirilməsi lazım olan iki versiyasının olduğu nəzərə çarpır. Və ortada son nəticə var. Layihənin bir çox filialı, öhdəliyi və layihədə işləyən istifadəçisi olduqda, filial (filial), istifadəçi (istifadəçi) və tarix (tarix) üzrə ayrıca axtarış etməlisiniz: Git-i Intellij IDEA - 10 ilə birləşdirəkVə başlamazdan əvvəl izah etmək istədiyim son şey necə başa düşməkdir. hansı şöbədəyik. Axtarmaq üçün sənə bir dəqiqə vaxt verəcəm... tapdın? Sən imtina edirsən? :D Aşağı sağ küncdə Git: master düyməsi var , burada Gitdən sonra: layihənin hazırda hansı filialda olduğunu göstərir. Düyməni klikləsəniz, çox faydalı işlər görə bilərsiniz: başqa filiala keçin, yenisini yaradın, mövcud olanın adını dəyişdirin və s. Git-i Intellij IDEA - 11 ilə birləşdirək

Repozitoriya ilə işləmək

Faydalı isti düymələr

İşə davam etmək üçün bir neçə çox faydalı isti düymələri yadda saxlamalısınız:
  1. ctrl + t - uzaq depodan ən son dəyişiklikləri əldə edin (git pull).
  2. ctrl + k - hazırda mövcud olan bütün dəyişiklikləri yerinə yetirmək/baxmaq. Buraya həm izlənilməmiş, həm də dəyişdirilmiş fayllar daxildir (git haqqında məqaləmə baxın, bu orada təsvir edilmişdir) (git commit).
  3. ctrl + shift + k dəyişiklikləri uzaq bir depoya itələmək üçün bir əmrdir. Yerli olaraq yaradılmış və hələ də uzaqdan idarə olunmayan bütün öhdəliklər push (git push) üçün təklif olunacaq.
  4. alt + ctrl + z - müəyyən bir fayldakı dəyişiklikləri yerli depoda sonuncu yaradılan öhdəliyin vəziyyətinə qaytarın. Yuxarı sol küncdə bütün layihəni seçsəniz, bütün fayllara edilən dəyişiklikləri geri qaytara bilərsiniz.
Git-i Intellij IDEA - 12 ilə birləşdirək

biz nə istəyirik?

İşləmək üçün hər yerdə istifadə olunan əsas skripti mənimsəməliyik. Vəzifə ayrı bir filialda yeni funksionallıq tətbiq etmək və onu uzaq bir depoya itələməkdir (sonra əsas filial üçün başqa bir çəkmə sorğusu yaratmalısınız, lakin bu məqaləmizin əhatə dairəsi xaricindədir). Mən nə etməliyəm?
  1. Hazırda əsas filialda bütün dəyişiklikləri əldə edin (məsələn, master).

  2. Bu əsasa əsaslanaraq, işiniz üçün ayrıca bir yaradın.

  3. Yeni funksionallığı həyata keçirin.

  4. Əsas filiala gedin və işlədiyiniz müddətdə hər hansı yeni dəyişikliyin olub olmadığını yoxlayın. Əgər belə deyildisə, onda hər şey qaydasındadır və əgər belədirsə, onda biz aşağıdakıları edirik: işçi filiala gedirik və dəyişiklikləri əsas filialdan bizimkilərə yenidən əsaslandırırıq. Hər şey qaydasındadırsa, əladır. Ancaq münaqişələr ola bilər. Və onları uzaq bir depoda vaxt itirmədən əvvəlcədən həll etmək olar.

    Deyəsən, niyə belə edirsən? Bu, filialınızı yerli depoya itələdikdən sonra qarşıdurmaların yaranmasının qarşısını alan yaxşı forma qaydasıdır (əlbəttə ki, onların hələ də mövcud olma ehtimalı var, lakin daha az olur ) .

  5. Dəyişikliklərinizi uzaq depoya köçürün.
Bundan sonra nə baş verəcəyi sizin məqsədlərinizdən və təxəyyülünüzdən asılıdır.

Uzaq serverdən dəyişikliklər qəbul edilir?

Mən README-ə yeni öhdəlik ilə təsvir əlavə etdim və bu dəyişiklikləri qəbul etmək istəyirəm. Dəyişikliklər həm yerli, həm də uzaq depolarda aparılıbsa, birləşmə və yenidən baza arasında seçim təklif olunur. Birləşmə seçin. ctrl + t daxil edin : Git-i Intellij IDEA - 13 ilə birləşdirəkNəticədə, README-nin necə dəyişdiyini görə bilərsiniz, yəni. uzaq depodan edilən dəyişikliklər yuxarı çəkildi və aşağı sağ küncdə serverdən gələn dəyişikliklərin bütün təfərrüatlarını görə bilərsiniz. Git-i Intellij IDEA - 14 ilə birləşdirək

Master əsasında yeni filial yaradın

Burada hər şey sadədir.
  1. Aşağı sağ küncə gedin və Git üzərinə klikləyin: master , seçin + Yeni filial .

    Git-i Intellij IDEA - 15 ilə birləşdirək
  2. Checkout filialı qutusunu buraxın və yeni filialın adını yazın. Mənim üçün bu , Readme-Təkmilləşdirici olardı .

    Git-i Intellij IDEA - 16 ilə birləşdirək

    Bundan sonra Git: master Git: readme-improver olaraq dəyişəcək .

Paralel işlərin simulyasiyası

Münaqişələrin ortaya çıxması üçün kimsə onları yaratmalıdır :D Mən README-ni brauzer vasitəsilə yeni bir öhdəliyi ilə redaktə edəcəyəm və bununla paralel işi simulyasiya edəcəm. Deyirlər, mənim işlədiyim müddətdə kimsə mənimlə eyni faylda dəyişiklik edib, bu da münaqişəyə gətirib çıxaracaq. 10-cu sətirdən “tamamilə” sözünü çıxaracağam.

Funksionallığınızı həyata keçirin

Tapşırıq README-ni dəyişmək və yeni məqaləyə təsvir əlavə etməkdir, yəni git-də iş Intellij IDEA vasitəsilə həyata keçirilir. Bunu əlavə edin: Git-i Intellij IDEA - 17 ilə birləşdirəkDəyişikliklər tamamlandı, indi siz öhdəlik yarada bilərsiniz. İsti düyməni basın ctrl + k , biz əldə edirik: Git-i Intellij IDEA - 18 ilə birləşdirəkÖhdəlik yaratmadan əvvəl bu pəncərədə təklif olunanlara diqqətlə baxmaq lazımdır. Hara baxacağınızı göstərmək üçün xüsusi olaraq bir ox əlavə etdim. Orada çox maraqlı şeylər var. Commit Message bölməsində biz öhdəliyin mətnini yazırıq və onun yaradılması üçün Commit düyməsini sıxmalısınız . Bunu isti düymə ilə necə edəcəyimi hələ də tapmadım, buna görə kimsə tapsa, yazın, çox xoşbəxt olacağam. README-nin dəyişdiyini yazırıq və öhdəlik yaradırıq. Nəticədə, aşağı sol küncdə öhdəliyin adı ilə bir xəbərdarlıq görünəcək: Git-i Intellij IDEA - 19 ilə birləşdirək

Master filialının dəyişib-dəyişmədiyini yoxlayın

Tapşırığı yerinə yetirdik, işləyir, testlər yazdıq, hər şey yaxşıdır. Ancaq serverə itələmədən əvvəl, bu müddət ərzində əsas filialda hər hansı dəyişiklik olub-olmadığını yoxlamaq lazımdır. Bu necə baş verə bilərdi? Çox sadədir: sizdən sonra kiməsə tapşırıq verildi və bu kimsə bunu sizdən daha sürətli etdi. Buna görə də master filialına keçirik. Bunu etmək üçün, aşağı sağ küncdə aşağıdakı şəkildə göstərilənləri etməlisiniz: Uzaq serverdən ən son dəyişiklikləri əldə etmək üçün Gəlin Git-i Intellij IDEA - 20 ilə birləşdirəkmaster filialında ctrl + t düyməsini basın. Hansı dəyişikliklərin edildiyinə baxsanız, nə baş verdiyini asanlıqla görə bilərsiniz: Git-i Intellij IDEA - 21 ilə birləşdirəkGördüyünüz kimi, "tamamilə" sözü çıxarıldı. Ola bilsin ki, marketinqdən kimsə bunun belə yazıla bilməyəcəyinə qərar verib və tərtibatçılara onu yeniləmək tapşırığını verib. İndi yerli olaraq master filialının ən son versiyasına sahibik. Readme-inprover- ə qayıdaq . İndi dəyişiklikləri əsas filialdan bizimkilərə yenidən əsaslandırmalıyıq. Biz edirik: Git-i Intellij IDEA - 22 ilə birləşdirəkƏgər mənimlə hər şeyi düzgün izləmisinizsə, nəticə README faylında ziddiyyət təşkil etməlidir: Git-i Intellij IDEA - 23 ilə birləşdirəkBurada başa düşülməli və mənimsənilməsi lazım olan bir çox məlumat da var. Bu, ziddiyyətli faylların siyahısını (bizim bir elementdə) göstərir. Üç variant seçə bilərik:
  1. sizinkini qəbul edin - yalnız readme-inproverdən dəyişiklikləri qəbul edin.
  2. onlarınkini qəbul edin - yalnız ustadan dəyişiklikləri qəbul edin.
  3. birləşdirin - nəyi saxlamaq və nəyi çıxarmaq lazım olduğunu özünüz seçin.
Orada nəyin dəyişdiyi bəlli deyil və dəyişikliklər master-dadırsa, onlar orada lazımdır və biz sadəcə dəyişikliklərimizi qəbul edə bilmirik, ona görə də birləşməni seçirik : Git-i Intellij IDEA - 24 ilə birləşdirəkBurada üç hissənin olduğunu görə bilərsiniz:
  1. Bunlar readme-inproverdən edilən dəyişikliklərdir.
  2. Nəticə. Dəyişikliklərdən əvvəl necə idisə, indi də elədir.
  3. Usta filialdan dəyişikliklər.
Nəticəni elə toplamaq lazımdır ki, hamını qane etsin. Ona görə də bizdən ƏVVƏL nə etdiklərini öyrəndik və başa düşdük ki, onlar sadəcə olaraq “tamamilə” sözünü çıxarıblar. Yaxşı, problem yoxdur. Bu o deməkdir ki, nəticədə onu siləcəyik və dəyişikliklərimizi əlavə edəcəyik. Nəticəni düzəldən kimi siz Tətbiq et düyməsini klikləyə bilərsiniz . Bundan sonra, rebase uğurlu olduğu barədə bildiriş açılacaq: Git-i Intellij IDEA - 25 ilə birləşdirəkIntellij IDEA vasitəsilə ilk münaqişəmizi belə həll etdik: D

Dəyişiklikləri uzaq serverə itələyin

Növbəti addım dəyişiklikləri uzaq serverə itələmək və çəkmə sorğusu yaratmaqdır. Bunu etmək üçün sadəcə ctrl + shift + k düymələrini basın , bundan sonra biz əldə edirik: Git-i Intellij IDEA - 26 ilə birləşdirəkSolda uzaq depoya köçürülməmiş öhdəliklərin siyahısı, sağda isə bütün fayllar olacaq. dəyişdi. Hamısı budur: Push düyməsini basın və xoşbəxt olacaqsınız :) Əgər təkan uğurlu olarsa, sağ alt küncdə belə bir bildiriş olacaq: Git-i Intellij IDEA - 27 ilə birləşdirək

Bonus hissəsi

Mən əvvəlcə məqaləyə çəkmə sorğusu yaratmağı əlavə etmək istəmədim, amma buna görə çox da tam deyil. Buna görə də, biz GitHub repozitoriyasına gedirik (əlbəttə ki, sizindirsə)))) və GitHub-un artıq bizə nə təklif edəcəyini bildiyini görürük: Müqayisə et və sorğunu çəkGit-i Intellij IDEA - 28 ilə birləşdirək üzərinə klikləyin , sonra da çəkmə sorğusu yarat . Münaqişələri əvvəlcədən həll etdiyimizə görə indi çəkmə sorğusu yaradan zaman onu dərhal birləşdirə bilərsiniz: Bu dəfə sizə demək istədiyim budur. Təbii ki, indicə qapını açıb sizə kiçik bir hissə göstərdim. Qalanını lazım olduqda özünüz tapacaqsınız. Həmişə olduğu kimi, sizi GitHub hesabıma abunə olmağa dəvət edirəm , burada işdə istifadə etdiyim müxtəlif texnologiyalar əsasında layihələr yerləşdirirəm. Bu yaxınlarda şəxsi nailiyyətim oldu - layihəm artıq yüzdən çox tərtibatçı tərəfindən qiymətləndirilib. Sizin hazırladığınızdan birinin istifadə etməsi inanılmaz bir sevinc hissidir. Və xeyir üçün istifadə edir. Git-i Intellij IDEA - 29 ilə birləşdirək

faydalı bağlantılar

  1. JavaRush: Git ilə işə başlamaq: yeni başlayanlar üçün ətraflı bələdçi
  2. GitHub: işləmək üçün demo layihəsi
  3. JavaRush: Git-də budaqlanma strategiyalarının təhlili
  4. JetBrains: Git Repository qurun
  5. Habr: Git rebase
  6. GitHub: Hesabım
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION