CodeGym /Kurslar /JAVA 25 SELF /Gündəlik inkişafçı iş dövrü: Commit, Push və .gitignore

Gündəlik inkişafçı iş dövrü: Commit, Push və .gitignore

JAVA 25 SELF
Səviyyə , Dərs
Mövcuddur

1. İşə başlama: layihənin klonlanması

Keçən mühazirədə dayandığımız yerdən başlayırıq. GitHub-da yaradılmış bir repozitoriyanız var və indi işə başlamaq üçün onun lokal nüsxəsini kompüterinizə əldə etməyiniz lazımdır. Bu proses klonlama adlanır.

Addım 1. IDE-nizi işə salın. Hər hansı bir layihə açıqdırsa, onu File -> Close Project vasitəsilə bağlayın. Başlanğıc pəncərəsində Clone Repository və ya Get from VCS seçin.

Addım 2. Açılan pəncərədə repozitoriyanızın URL-ini daxil edin. Bu üsul başqasının repozitoriyasını klonlayanda faydalıdır. URL-i GitHub-da repozitoriyanın səhifəsindən köçürmək olar.

Əgər öz repozitoriyanızı klonlayırsınızsa (bizim variant), ən asanı IDE-dən birbaşa GitHub hesabınıza daxil olmaqdır. Bunun üçün Log in to GitHub seçin. IDE brauzeri avtorizasiya üçün açacaq.

GitHub-da JetBrains IDE üçün avtorizasiya pəncərəsi

Açılan səhifədə yaşıl Authorize JetBrains düyməsini arxayınlıqla basın. Bundan sonra repozitoriyalarınızı birbaşa IDE-dəki siyahıdan seçə biləcəksiniz. Lazım olan layihəni seçin və Clone basın.

Addım 3. IDE sizdən bu layihəyə etibar edib-etmədiyinizi soruşacaq. Bu sizin öz repozitoriyanız olduğuna görə, Trust Project basın.

Addım 4. Antivirusun tənzimlənməsi (Windows istifadəçiləri üçün)

Windows antivirusu IDE-nin ona naməlum hərəkətlər etməyə çalışdığını xəbərdar edə bilər. Biz proqramlar yaradıb işə salacağımız üçün IDE-nin məhdudiyyətsiz işləməsinə icazə vermək lazımdır. “Automatically” düyməsini basın ki, IDE lazımi qovluqları antivirusun istisnalarına özü əlavə etsin.

2. Dəyişikliklərin saxlanması: Commit

commit — layihənizin müəyyən anındakı “şəkli”, yəni saxlanmış vəziyyətidir. Onu oyundakı yadda saxlanma nöqtəsi kimi düşünün: nəsə səhv getsə, həmişə həmin nöqtəyə qayıda bilərsiniz. Hər bir commit-in unikal identifikatoru və edilmiş dəyişiklikləri təsvir edən mesajı var.

        gitGraph
        commit id: "Initial commit"
        commit id: "Add user authentication"
        commit id: "Fix login button bug"
        commit id: "Refactor database connection"
    
Commitlər tarixi. Hər yeni commit əvvəlkindən qurularaq layihənin inkişafının xronologiyasını yaradır.

Addım 1. Dəyişiklik edin.

Əgər yenicə yaradılmış repozitoriyanı klonlamısınızsa, o, yalnız bir fayl — README.md faylını ehtiva edəcək.

README.md faylını açın və layihənizin təsvirini əlavə edin. Faylı redaktə etməyə başlayan kimi IDE layihə panelində fayl adını mavi rənglə vurğulayacaq. Bu o deməkdir ki, fayl dəyişdirilib, amma dəyişikliklər hələ Git-ə yazılmayıb. IDE dəyişiklik etdiyiniz yerlərdə yaşıl xətt əlavə edəcək.

Addım 2. Commit pəncərəsini açın.

IDE-nin sol tərəfində Commit vərəqi var. Onu açanda saxlanmağa hazır bütün dəyişiklikləri görəcəksiniz. İlk commit üçün bu pəncərəyə xüsusi diqqət yetirmək lazımdır.

Gəlin gördüklərimizi qısa izah edək:

  • Changes: burada Git tərəfindən artıq izlənən, lakin dəyişdirilmiş fayllar olur. Bizim halda bu, layihə planını əlavə etdiyimiz README.md-dir.
  • Unversioned Files: bunlar Git-in layihə qovluğunda gördüyü, lakin hələ izləmədiyi yeni fayllardır.

Sual yarana bilər: bu xidmət fayllarının hamısını repozitoriyaya əlavə etmək lazımdırmı?

Yaxşı xəbər odur ki, repozitoriyanı GitHub-da yaradanda .gitignore şablonunu seçmişdik. Bu faylda artıq Git-ə hansı qovluqları və faylları görməməzliyə vurmağı bildirən qaydalar var. Amma bunun barədə daha ətraflı mühazirənin sonunda danışacağıq.

Hələlik ilk commit üçün vəzifəmiz — layihənin əsas fayllarını tarixçəyə əlavə etmək və commit mesajını yazmaqdır.

Addım 3. Commit edin.

Commit düyməsini basın. Hazırdır! Layihənizin “şəklini” lokal repozitoriyada saxladınız. Fayl yenidən adi rəngə qayıdacaq.

3. Dəyişikliklərin GitHub-a göndərilməsi: Push

Commit-ləriniz hələlik yalnız kompüterinizdə saxlanılır. Onları komanda ilə bölüşmək və ya etibarlı yerdə saxlamaq üçün uzaq GitHub repozitoriyasına göndərmək lazımdır.

        sequenceDiagram
        participant Lokal repozitoriya (Sizin kompüteriniz)
        participant Uzaq repozitoriya (GitHub)

        note over Lokal repozitoriya (Sizin kompüteriniz): Siz bir və ya bir neçə commit etmisiniz.
Onlar yalnız burada mövcuddur. Lokal repozitoriya (Sizin kompüteriniz) ->> Uzaq repozitoriya (GitHub): git push (commit-ləri göndərmək) note over Uzaq repozitoriya (GitHub): Commit-ləriniz köçürüldü
və serverdə etibarlı şəkildə saxlanıldı.
Lokal commit-ləriniz uzaq serverə göndərilir və layihə tarixçəsi sinxronlaşdırılır.

Addım 1. Push düyməsini basın.

IDE-nin sağ yuxarı küncündə yuxarıya yönəlmiş yaşıl ox var — bu, Push düyməsidir. Onu basın.

Addım 2. Yoxlayın və təsdiqləyin.

Açılacaq pəncərədə göndərilməyə hazır bütün commit-ləri görəcəksiniz. Bu, məhz lazım olanları göndərdiyinizə əmin olmaq üçün son şansınızdır. Push basın.

Hər şey uğurla başa çatdısa, bu mesajları görəcəksiniz: Pushed commits to origin/main. Create pull request

Addım 3. Nəticəni GitHub-da yoxlayın.

Uğurlu göndərmədən sonra GitHub-da repozitoriyanızın səhifəsini açın. Dəyişikliklərinizin orada göründüyünü görəcəksiniz.

4. Git idarəetmə paneli

IDE-nizdə yuxarı paneldə tapılan xüsusi Git menyusu var. Bu, versiya nəzarətinizin mərkəzidir. Gəlin onun əsas bəndləri ilə qısaca tanış olaq.

  • Commit: dəyişiklikləri saxlamaq üçün artıq tanış olduğumuz pəncərəni açır.
  • Push: commit-lərinizi GitHub-a göndərmək üçün pəncərəni açır.
  • Update Project: çox vacib funksiyadır. Komandadakı digər iştirakçıların yeni dəyişikliklərini endirir (git pull icra edir). İşə başlamazdan əvvəl hər səhər onu basın!
  • Branches: budaqların idarə olunması üçün pəncərəni açır. Bunu növbəti mühazirədə ətraflı öyrənəcəyik.
  • Show Git Log: layihənizin bütün commit tarixçəsini göstərir. Sizin şəxsi zaman maşınınız.

5. .gitignore fayllarından istifadə

Əgər layihənizə bəzi xidmət (xidmətçi) fayllar əlavə etmisinizsə və onların təsadüfən repozitoriyaya düşməsini istəmirsinizsə, onları istisnalara əlavə edə bilərsiniz. Bunun üçün .gitignore adlı fayl var. Bu, sistemdə saxlanmalı olmayan (məsələn, müvəqqəti fayllar, loglar, parollar) fayllar olduqda çox rahatdır.

Addım 1. Əvvəlcə layihədə görməməzliyə vurmaq istədiyiniz faylı yaradın. Məsələn, notes.txt. Faylı yaratdıqdan sonra IDE onu Git-ə əlavə etməyi təklif edərsə, Cancel basın.

Addım 2. “Project” pəncərəsində yaratdığınız faylın üzərinə sağ düymə ilə klikləyin. Git --> Add to .gitignore --> Add to .gitignore yolunu izləyin. Bu seçim seçilmiş faylı layihənizin kökündəki .gitignore faylına əlavə edir.

Əgər hələ .gitignore faylınız yox idisə, IDE onu yaratmağı təklif edəcək. Razılaşın.

Addım 3. IDE fayl adını avtomatik olaraq .gitignore-a əlavə edəcək.

.gitignore-a əlavə etdikdən sonra görməməzliyə vurulan fayllar boz və ya qəhvəyi rənglə göstəriləcək. Dəyişiklikləri commit etməyə çalışanda bu fayllar nəzərə alınmayacaq. .idea qovluğunu da ignora əlavə etmək olar.

.gitignore faylının özünü repozitoriyaya commit etməyi və dəyişiklikləri GitHub-a göndərməyi unutmayın ki, layihənin bütün iştirakçıları eyni ignor qaydalarından istifadə etsin.

Yerli faylların istisna edilməsi: .git/info/exclude

.gitignore faylından əlavə, hansı ki layihənin bütün istifadəçiləri üçün faylları istisna etməkdə istifadə olunur, Git lokal qaydaları .git/info/exclude faylında yaratmağa imkan verir. Onlar repozitoriyaya commit edilməyəcək və yalnız layihənizin lokal nüsxəsi üçün qüvvədə olacaq.

Bu, məsələn, IDE-niz tərəfindən yaradılan və versiya nəzarətinə düşməməli, yalnız sizə məxsus olan faylları görməməzliyə vurmaq üçün faydalı ola bilər.

Vacibdir! Lokal ignor qaydaları yalnız repozitoriyanın sizin lokal nüsxəniz üçün keçərlidir.

Bəs artıq commit etmişəmsə?

.gitignore yalnız yeni, hələ izlənməyən faylları görməməzliyə vurur. Əgər faylı artıq commit etmisinizsə, o, repozitoriyanın tarixçəsindədir və siz onu .gitignore-a əlavə etsəniz belə, Git onu izləməyə davam edəcək. Belə hallar üçün terminal komandası var: git rm --cached <file>. Amma bunun barədə ayrıca oxumaq lazımdır.

.gitignore üçün qaydalar

.gitignore faylında Git-in görməməzliyə vurmalı olduğu fayl və qovluq adları üçün şablonlar göstərilir.

Boş sətirlər nəzərə alınmır. Şərh əlavə etmək üçün sətri # simvolu ilə başlayın.

Şablonlar:

  • * — istənilən sayda istənilən simvolu əvəz edir. Məsələn, *.log bütün .log uzantılı faylları görməməzliyə vurur.
  • / — şablonun sonunda qovluğu bildirir. Məsələn, logs/ logs qovluğunun bütün məzmununu görməməzliyə vurur.
  • ! — sətirin əvvəlində qaydanı tərsinə çevirir. Məsələn, əgər *.log qaydanız var, amma important.log-u izləmək istəyirsinizsə, !important.log sətrini əlavə edin.
  • ** — istənilən sayda iç-içə qovluqlara uyğun gəlir. Məsələn, **/temp istənilən səviyyədəki temp qovluqlarını görməməzliyə vurur.

.gitignore faylı nümunəsi


# Kompilyasiya olunmuş kod
/bin/
/obj/

# Müvəqqəti fayllar
*.tmp
*.swp

# Loglar
*.log

# IDE tərəfindən yaradılan qovluqlar
.idea/
*.user
*.suo

# Virtual mühitlər və asılılıqlar
/venv/
/node_modules/

Hazır şablonlar

Bu faylları sıfırdan yazmağınıza ehtiyac yoxdur. İcma tərəfindən sınaqdan keçirilmiş hazır şablonlar mövcuddur:

  1. Müxtəlif dillər və freymvörklər üçün GitHub-un .gitignore kolleksiyası: https://github.com/github/gitignore.
  2. gitignore.io — texnologiyalarınıza uyğun .gitignore faylı yaradan rahat veb xidməti.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION