Lazımi giriş qeydləri:
- 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.
- Intellij IDEA quraşdırın.
- Tam udma üçün bir saatlıq şəxsi vaxt ayırın.
Layihəni yerli olaraq klonlayın
Burada iki variant var.- Ə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 .
- 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))
-
Layihə ünvanını kopyalayın:
-
Intellij IDEA-nı açın və Versiya Nəzarətindən Get seçin:
-
Ünvanı layihəyə kopyalayın və yapışdırın:
-
Sizdən Intellij IDEA layihəsi yaratmağınız təklif olunacaq. Təklifi qəbul edirik:
-
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 :
-
Sonra belə bir yağlıboya tablo olacaq: Biz 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ı. Ü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: Sağ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: Və 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.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:- ctrl + t - uzaq depodan ən son dəyişiklikləri əldə edin (git pull).
- 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).
- 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.
- 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.
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?-
Hazırda əsas filialda bütün dəyişiklikləri əldə edin (məsələn, master).
-
Bu əsasa əsaslanaraq, işiniz üçün ayrıca bir yaradın.
-
Yeni funksionallığı həyata keçirin.
-
Ə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 ) .
- Dəyişikliklərinizi uzaq depoya köçürün.
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 : Nə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.Master əsasında yeni filial yaradın
Burada hər şey sadədir.-
Aşağı sağ küncə gedin və Git üzərinə klikləyin: master , seçin + Yeni filial .
Checkout filialı qutusunu buraxın və yeni filialın adını yazın. Mənim üçün bu , Readme-Təkmilləşdirici olardı .
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: Dəyişikliklər tamamlandı, indi siz öhdəlik yarada bilərsiniz. İsti düyməni basın ctrl + k , biz əldə edirik: Ö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: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 master 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: Gö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: Əgər mənimlə hər şeyi düzgün izləmisinizsə, nəticə README faylında ziddiyyət təşkil etməlidir: Burada 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:- sizinkini qəbul edin - yalnız readme-inproverdən dəyişiklikləri qəbul edin.
- onlarınkini qəbul edin - yalnız ustadan dəyişiklikləri qəbul edin.
- birləşdirin - nəyi saxlamaq və nəyi çıxarmaq lazım olduğunu özünüz seçin.
- Bunlar readme-inproverdən edilən dəyişikliklərdir.
- Nəticə. Dəyişikliklərdən əvvəl necə idisə, indi də elədir.
- Usta filialdan dəyişikliklər.
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: Solda 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: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 çə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.faydalı bağlantılar
- JavaRush: Git ilə işə başlamaq: yeni başlayanlar üçün ətraflı bələdçi
- GitHub: işləmək üçün demo layihəsi
- JavaRush: Git-də budaqlanma strategiyalarının təhlili
- JetBrains: Git Repository qurun
- Habr: Git rebase
- GitHub: Hesabım
GO TO FULL VERSION