9.0 Bir az tarix
Git-in əsas elementlərindən biri də budaqlardır (branches), bu da proqramın müxtəlif funksiyalarını və ya versiyalarını paralel işləməyə imkan verir.
Əvvəlcə Git DVCS-də default budaq master
adlanırdı. Default olaraq hər Git repository master
budağına sahib olurdu. Proqramçılar nadir hallarda onu silirdilər, çünki o, inkişaf prosesində mühüm rol oynayırdı.
2020-ci ilin yayında, etirazlar və sosial narahatlıqlar fonunda, IT-də master və slave (ağa və qul) terminlərinin istifadəsi geniş müzakirəyə səbəb oldu. Master üçün əvəz olaraq müxtəlif variantlar təklif edildi, məsələn, default
və primary
. Amma nəticədə ən populyar termin main
oldu.
GitHub tədbir gördü və Git repository-ni ilkinləşdirərkən master
terminindən imtina etdi. GitHub-un master
-dən main
-ə keçidi hesab tənzimləmələrində Repositories bölməsində və ya bu komanda ilə mümkündür:

$ git branch -m master main
Bəzi tədris materiallarında hələ də master
termini ilə qarşılaşa bilərsiniz. main
-ə keçid haqqında ətraflı məlumatı aşağıdakı linklərdən əldə edə bilərsiniz:
9.1 Git nədir və niyə lazımdır
Git — versiya idarəetmə üçün güclü bir sistemdir, proqram təminatının hazırlanması zamanı mənbə kodundakı dəyişiklikləri izləmək üçün istifadə olunur. Bu, tərtibatçılara fərqli fayl versiyalarını saxlamağa və ümumi bir layihə üzərində bir neçə insanın işini əlaqələndirməyə imkan yaradır.
Git-in əsas anlayışları:
Repository
Repository (və ya "repo") – layihənin bütün tarixinin, faylların bütün dəyişiklik və versiyalarının saxlanıldığı yerdir. Git-də repository işçi kataloqunu, indeksi (və ya stage) və obyektlər bazasını əhatə edir.
Commitlər
Commit – layihənin saxlanılmış vəziyyətidir. Git-də hər commit layihəyə hansı dəyişikliklərin edildiyini, kim tərəfindən və nə vaxt edildiyini özündə saxlayır. Commitlər layihə tarixini formalaşdırır və istənilən əvvəlki versiyaya keçid etməyə imkan verir.
Branchlər (Şöbələr)
Branch (şöbə) — müstəqil inkişaf xəttidir. Default olaraq Git main (əvvəlcə master) adlı bir branch yaradır. Yeni xüsusiyyətlər və ya düzəltmələr üzərində işləmək üçün yeni branchlər yarada və sonra onları əsas branch-ə birləşdirə bilərsiniz.
Merge və Rebase
Merge (birləşdirmə) və Rebase — bir branch-dən digərinə dəyişiklikləri inteqrasiya etmək üçün iki üsuldur. Merge iki branch-in tarixini birləşdirir və yeni commit yaradır, rebase isə bir branch-in commitlərini digərinin zirvəsinə köçürür, commit tarixçəsini dəyişir.
9.2 Git əsas komandaları
Versiya idarəsi üçün əsas Git komandalarının cədvəli:
Komanda | Təsviri |
---|---|
git init | Cari katalogda yeni Git deposu yaradır. |
git clone | URL-dən depo klonlayır və yeni bir kataloqda saxlayır. |
git add | Faylları növbəti commit üçün index-ə əlavə edir. |
git commit | Hazırlanmış dəyişiklikləri depoda saxlayır. |
git push | Dəyişiklikləri lokal depodan uzaq depoya göndərir. |
git pull | Cari branch-i uzaq depodan ən son versiya ilə yeniləyir. |
git branch | Branch-ləri göstərir, yaradır və ya silir. |
git merge | Seçilmiş branch-in dəyişikliklərini cari branch-ə birləşdirir. |
git rebase | Dəyişiklikləri yeni bir bazaya (çox vaxt başqa branch) köçürür. |
Bu komandalar Git-də iş üçün əsas alətlərdir, kod dəyişikliklərini, branch-ləri və birləşmələri idarə etməyə imkan verir, hər ölçüdəki layihələrdə iş görməyi asanlaşdırır. Onları növbəti mühazirələrdə daha ətraflı şəkildə öyrənəcəyik.
9.3 Kodun saxlanıldığı üç yer
Versiya nəzarət sistemindən istifadə etdiyiniz zaman, kodunuz təxminən üç yerdə saxlanacaq:
1. Uzaqdan repository:
Bu, kodunuzun saxlanıldığı mərkəzləşdirilmiş məkandır, adətən GitHub, GitLab və ya Bitbucket kimi servis platformalarında yerləşir. Onlar kodun mərkəzləşdirilmiş saxlanmasını təmin edir və komanda işi üçün əsas rol oynayır.
Uzaqdan repository tərtibatçılara dəyişiklikləri paylaşmağa, çalışmalarını sinxronlaşdırmağa və layihə dəyişikliklərinin tarixini izləməyə imkan verir. Həmçinin uzaqdan repository avtomatlaşdırma prosesləri (məsələn, build, test, tətbiqin deploy edilməsi) üçün inteqrasiya nöqtəsi kimi xidmət edir.
2. Lokal repository:
Lokal repository — bu sizin kompüterinizdə saxlanılan kodun şəxsi nüsxəsidir. Bu repository-də Git ilə (commit, branching, merging) internetə qoşulmadan bütün əməliyyatları edə bilərsiniz.
Lokal repository tərtibatçılara həmkarlarından ayrı çalışmaq imkanı verir, eksperimentlər etmək, yeni funksiyalar yaratmaq və ya səhvləri düzəltmək imkanı verir. Bu dəyişikliklər birləşdirilməmişdən (merge) və uzaqdan repository-ə göndərilməmişdən öncə edilir.
3. İşçi kataloq:
İşçi kataloq kompüterinizdə layihənin hazırkı fayllarını saxlayır, üzərində işlədiyiniz komponentlər məhz buradadır. Burada fayllara baxa və dəyişiklik edə, yeni funksionallıq əlavə edə və ya səhvləri düzəldə bilərsiniz.
Dəyişiklik etdikdən sonra, onları indeksə (staging area) əlavə edə, sonra isə lokal repository-də commit edə bilərsiniz. İşçi kataloq hazırkı repository branch-ı ilə əlaqəlidir və branch-lar dəyişdirildikdə işçi kataloqun tərkibi də dəyişir.
Bu komponentlər birlikdə güclü bir kod idarəetmə infrastrukturu təmin edir, layihənin tarixçəsini idarə etmək, əməkdaşlıq etmək və koda görə məsuliyyəti bölüşmək kimi imkanlar yaradır.
9.4 GitHub — ən populyar pulsuz repository
GitHub — bu ən böyük veb platformadır kodun yerləşdirilməsi üçün, hansı ki, Git versiya idarəetmə sistemindən istifadə edir. 2008-ci ildə qurulub və qısa zamanda bütün dünyada developerlər üçün əsas alətlərdən biri olub.

GitHub istifadəçilərə layihələri idarə etmək üçün repository-lər yaratmağa, kod dəyişiklərini izləməyə, digər developerlərlə işləməyə və həm açıq, həm də şəxsi şəkildə işləməyə imkan verir. O, fork-lar, branch-lər, pull request-lər və merge-lər kimi funksiyaları təklif edir, bu da developerlərə layihələr üzərində birgə işləməyi asanlaşdırır.
GitHub həmçinin hər bir layihə üçün issue-ları izləmə, feature request-lər, task idarəetmə və wiki kimi funksionallıqları da əhatə edir. Platforma bir çox alət və xidmətlərlə inteqrasiya olunur, bu da tətbiqlərin inkişafı, testi və deploy-u üçün geniş avtomatlaşdırma imkanları təqdim edir.
GitHub geniş developer cəmiyyətinə dəstək verir, hansı ki, burada proqramlaşdırma üzrə ən yaxşı təcrübələr, layihə idarəetməsi və daha bir çox şey müzakirə olunur. Bu onu yalnız layihələrin idarə olunması üçün bir alət deyil, həm də bilik və təcrübə paylaşımı üçün bir mərkəz kimi edir.
9.5 GitHub-da qeydiyyatdan keçmək

1-ci addım. https://github.com saytına daxil olun.
2-ci addım. Qeydiyyatdan keçin.
3-cü addım. Yeni repository yaratmaq üçün New repository
düyməsinə klikləyin.

4-cü addım. Repository üçün parametrlər təyin edək:
- Repository-nin adı.
- Public yoxsa private seçimi. Başlanğıc üçün "Public" seçin.
- README faylı əlavə edin – gələcəkdə lazım olacaq.
Create repository
düyməsinə klikləyin.

Hal-hazırda keçib getdiyimiz parametrlər:
- .gitignore faylı. Hələlik bu addımı keçirik. Bu fayl müəyyən faylları repository-dən kənarda saxlamaq üçün istifadə olunur.
- Lisenziya. Bu, başqalarının sizin işinizi necə istifadə edəcəyini və paylaşacağını müəyyənləşdirir.
main
branch. GitHub default olaraq repository-də əsas branch adınımain
kimi istifadə edir.
4-cü addım. İlk repository-mizi alırıq.

Git-in kompüterinizə quraşdırılması
Burada hər şey sadədir: Google-un ilk linkinə klikləyirik, yükləyirik və quraşdırırıq. Vəssalam.
Əgər WebStorm istifadə edirsinizsə, git
-i ayrıca quraşdırmaq mütləq deyil. Əgər WebStorm sisteminizdə Git-in quraşdırılmadığını aşkar etsə, ilkin tənzimləmə zamanı onu quraşdırmağı təklif edəcək.

Windows üçün quraşdırılma
Adətən olduğu kimi, exe
faylını yükləyib işə salmaq lazımdır. Git-i rəsmi saytdan yükləyin: https://git-scm.com/downloads
Linux üçün quraşdırılma
Adətən git
artıq quraşdırılıb və Linux distributivlərində mövcuddur, bunu yoxlamaq üçün terminalı açıb belə bir komandaya icazə verməlisiniz: git --version
Git-i quraşdırmaq üçün distributivinizin paket menecerindən istifadə edin. Məsələn, Ubuntu və ya Debian-da aşağıdakı komandadan istifadə edə bilərsiniz:
sudo apt-get install git
macOS üçün quraşdırılma
Burada da əvvəlcə yoxlayın ki, git artıq var, ya yox (Linux-da olduğu kimi yuxarıda baxın).
Əgər hələ də yoxdursa, ən asan yol — son versiyanı yükləməkdir.
GO TO FULL VERSION