9.0 Bir az tarix
Git-in əsas elementlərindən biri, müxtəlif funksiyaların və ya proqramın versiyalarının paralel inkişafını aparmağa imkan verən budaqlardır.
Əvvəllər, Git DVCS-də defolt budaq adı master
idi. Defolt olaraq hər bir Git deposunda master
budağı mövcud idi. Tərtibatçılar nadir hallarda onu silirdi, çünki o, inkişafda mühüm rol oynayırdı.
2020-ci ilin yayında, etirazlar və sosial iğtişaşlar fonunda, IT-də master
(sahib) və slave
(qul) terminlərinin istifadəsi ilə bağlı mübahisə başladı. master
-ə əvəz olaraq müxtəlif variantlar təklif olunurdu, məsələn, default
və primary
. Amma nəticədə ən çox populyarlıq qazanan termin main
oldu.
GitHub tədbirlər gördü və Git deposunu inicilazasiya edərkən master
terminindən imtina etdi. GitHub-da master
-dan main
-ə keçid Repositories hesabının ayarlarında 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 daha ətraflı məlumat üçün bu linklərə baxın:
9.1 Git nədir və niyə lazımdır
Git — bu güclü versiya idarəetmə sistemidir, hansı ki, proqram təminatı hazırlanması zamanı mənbə kodundakı dəyişiklikləri izləmək üçün istifadə olunur. O, developerlərə faylların müxtəlif versiyalarını saxlamağa və ümumi layihədə birdən çox insanın işini koordinasiya etməyə imkan yaradır.
Git-in əsas anlayışları:
Repozitoriya
Repozitoriya (və ya "repo") — bu, layihənin bütün tarixçəsinin, bütün dəyişikliklər və faylların versiyaları daxil olmaqla, saxlandığı yerdir. Git-də repozitoriya işçi direktoriya (working directory), indeks (və ya stage) və obyektlər bazası daxildir.
Commitlər
Commit (commit)
— layihənin saxlanılan vəziyyətidir. Git-də hər commit layihəyə hansı dəyişikliklərin edildiyi, kim tərəfindən və nə vaxt edildiyi haqqında məlumat ehtiva edir. Commitlər layihənin tarixçəsini yaradır və istənilən əvvəlki versiyaya qayıtmağa imkan verir.
Şaxələr
Şaxə (branch)
— müstəqil inkişaf xəttidir. Susmaya görə, Git main (əvvəllər master)
şaxəsini yaradır. Yeni funksionallıq və ya düzəlişlərin hazırlanması üçün yeni şaxələr yarada və sonra onları əsas şaxəyə birləşdirə bilərsiniz.
Birləşmə və rebeyz
Birləşmə (merge)
və rebeyz (rebase)
— bir şaxədən digərinə dəyişikliklərin inteqrasiyası üçün iki üsuldur. Birləşmə iki şaxənin tarixçəsini birləşdirir, yeni commit yaradır, rebeyz isə bir şaxənin commitlərini digərinin başına daşıyır və commit tarixçəsini dəyişir.
9.2 Git üçün əsas əmrlər
Budur, Git-də versiyaları idarə etmək üçün əsas əmrlərin cədvəli:
Əmr | Təsvir |
---|---|
git init |
Cari direktoriya üçün yeni bir Git repo yaradır. |
git clone |
URL-dən repo yeni bir direktoriyaya klonlayır. |
git add |
Faylları növbəti commit üçün index-ə əlavə edir. |
git commit |
Hazırlanmış dəyişiklikləri repoya təsdiqləyir. |
git push |
Lokal repodakı dəyişiklikləri remote repoya göndərir. |
git pull |
Cari branch-i remote repodakı 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 daşıyır (adətən başqa bir branch). |
Bu əmrlər Git-də işləmək üçün əsas alətlərdir və istənilən ölçüdə layihələrdə kod dəyişikliklərini, branch-ləri və birləşmələri idarə etməyə imkan verir. Onları daha ətraflı növbəti mühazirələrimizdə öyrənəcəyik.
9.3 Kodu saxlamaq üçün üç yer
Versiya nəzarət sistemi ilə kodunuz üzərində işlədiyiniz zaman, kodunuz ümumilikdə üç yerdə saxlanılacaq:
1. Uzaq reponitory:
Bu, kodunuzu saxlamaq üçün mərkəzləşdirilmiş bir yerdir və adətən GitHub, GitLab və ya Bitbucket kimi servislərdə yerləşdirilir. Onlar kodun mərkəzləşdirilmiş saxlanmasını təmin edir və əməkdaşlıq üçün əsas rol oynayır.
Uzaq reponitorylər tərtibatçıların dəyişikliklərini paylaşmasına, səyləri sinxronlaşdırmasına və layihənin dəyişiklik tarixçəsini aparmasına imkan verir. Eyni zamanda, uzaq reponitory avtomatlaşdırma prosesləri üçün inteqrasiya nöqtəsi kimi xidmət edir, məsələn, tətbiqlərin yığılması, test edilməsi və yerləşdirilməsi.
2. Lokal reponitory:
Lokal reponitory - bu, kompüterinizdə saxlanılan kodunuzun şəxsi nüsxəsidir. Bu reponitorydə internetə qoşulmadan Git ilə (commits, branching, merging) hər hansı əməliyyatlar edə bilərsiniz.
Lokal reponitorylər tərtibatçılara həmkarlarından təcrid olunmuş şəkildə işləmək, eksperimentlər aparmaq, yeni funksiya əlavə etmək və ya səhvləri düzəltmək imkanı yaradır. Bu dəyişikliklər birləşdirildikdən (merge) və uzaq reponitoryə göndərilməzdən əvvəl edilir.
3. İşçi direktoriya:
Kompüterinizdə işçi direktoriya hal-hazırda üzərində işlədiyiniz layihənin cari fayllarını ehtiva edir. Bura faylları görə və dəyişikliklər edə, yeni funksiyalar əlavə edə və ya səhvləri düzəldə bilərsiniz.
Dəyişiklik etdikdən sonra, siz onları indeksə (staging area) əlavə edə və sonra lokal reponitorydə fiksasiya edə bilərsiniz. İşçi direktoriya reponitorydəki cari branch ilə əlaqəlidir və branchları dəyişdirmək işçi direktoriyanın məzmununu da dəyişir.
Bu komponentlər birlikdə kodun idarə edilməsi üçün güclü infrastruktur təmin edir, beləliklə tərtibatçılar layihənin tarixçəsini idarə edə, əməkdaşlıq edə və koda görə məsuliyyəti bölüşə bilirlər.
9.4 GitHub — ən populyar pulsuz repozitoriya
GitHub — aparıcı veb platformadır ki, mənbə kodunu host etmək üçün Git versiya idarəetmə sistemini istifadə edir. 2008-ci ildə qurulmuş və qlobal şəkildə proqramçıların əsas alətlərindən birinə çevrilib.

GitHub istifadəçilərə layihələri idarə etmək üçün repozitoriyalar yaratmağa, kod dəyişikliklərini izləməyə, digər developerlarla əməkdaşlıq etməyə və layihəni açıq ya da xüsusi şəkildə inkişaf etdirməyə imkan verir. Bu, forklar, branclar, pull-requestlər və merge kimi funksiyalar təklif edir, bu da developerların layihələr üzərində birgə çalışmasını asanlaşdırır.
GitHub həmçinin, hər bir layihə üçün problem izləmə, funksiya sorğuları, tapşırıq idarəetməsi və wiki kimi imkanlar təklif edir. Platforma bir çox alət və servislərlə inteqrasiya olunur, inkişaf, test və tətbiqetmə proseslərini avtomatlaşdırmaq üçün geniş imkanlar təqdim edir.
GitHub developerlar üçün geniş bir icma dəstəkləyir, burada proqramlaşdırmanın, layihə idarəetməsinin və digər sahələrin ən yaxşı təcrübələri müzakirə olunur. Bu, onu yalnız layihə idarəetmə aləti deyil, həm də bilik və təcrübə paylaşımı üçün bir mərkəz halına gətirir.
9.5 GitHub-da qeydiyyat

Addım 1. https://github.com saytına daxil olun.
Addım 2. Qeydiyyatdan keçin.
Addım 3. Yeni repository yaratmaq üçün New repository
düyməsini basın.

Addım 4. Repository üçün parametrləri təyin edək:
- Repository-nin adı.
- İctimai (Public) və ya şəxsi (Private). Başlanğıc olaraq "İctimai" seçin.
- README faylını əlavə edin – bu bizə gələcəkdə lazım olacaq.
Create repository
düyməsini basın.

Hal-hazırda keçilən parametrlər:
- .gitignore faylı. Hələlik bu hissəni keçirik. Bu fayl müəyyən faylları repository-dən xaric etməyə kömək edir.
- Lisenziya. Bu, başqalarının sizin işinizi necə istifadə edə və paylaşa biləcəklərini müəyyən edir.
main
şaxəsi. Default olaraq GitHub repository-də əsas şaxə adı kimimain
-i istifadə edir.
Addım 4. İlk repository-mizi əldə edirik.

Kompyuterinizdə Git-in quraşdırılması
Burada hər şey sadədir: googledəki ilk linkə klikləyirik, yükləyirik və hazırdır.
Əgər PyCharm istifadə edirsinizsə, git
-i ayrıca quraşdırmağa ehtiyac yoxdur. Əgər PyCharm sizin sisteminizdə Git-in quraşdırılmadığını aşkar etsə, ilkin sazlama zamanı onu quraşdırmağı sizə təklif edəcək.

Windows üçün quraşdırma
Hər zamanki kimi, exe
faylını yükləyib işə salmaq lazımdır. Git quraşdırıcısını rəsmi saytdan yükləyin: https://git-scm.com/downloads
Linux üçün quraşdırma
Adətən git
artıq quraşdırılıb və Linux distributivlərində mövcuddur. Bunu yoxlamaq üçün terminalı açıb belə yazmaq lazımdır: git --version
Git-i quraşdırmaq üçün distributivinizin paket menecerini 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ırma
Burada da əvvəlcə yoxlamaq lazımdır ki, artıq Git var ya yox (Linux-da olduğu kimi bax).
Əgər yoxdursa, ən asan yol — son versiyanı yükləməkdir.
GO TO FULL VERSION