Git Və GitHub. Ən Çox İstifadə Olunan Əmrlər (Part 1).

Sahil Appayev
Pragmatech

--

Git bir versiya kontrol sistemidir (Version Control System — VCS). Version control dedikdə nə nəzərdə tutulur? Biz kod yazmağa başladıqdan etibarən ilk faylımızı yaratmaqla onun ilk versiyasını yaratmış oluruq. Və hər dəfəsində onun üzərində dəyişiklik edib yaddaşda saxladıqca onun yeni versiyalarını yaradırıq. Bir fayl üzərində edilən dəyişikliklər yaddaşa qeyd edilmədiyi müddətdə həmin faylın yeni versiyası yaranmış sayılmır. Version control biz fayl üzərində hər dəyişiklik etdikdən sonra onun dəyişiklikdən əvvəlki halı və ya halları ilə sonrakı halı arasındakı fərqləri ortaya çıxarır.

Proqramlaşdırmada versiya nəzarətini həyata keçirmək üçün bir çox versiya nəzarət sistemləri mövcuddur:

  • Subversion
  • Git
  • CVS
  • Mercurial
  • ClearCase
  • Team
  • Foundation
  • Visual SourceSafe

Versiya kontrol sistemlərinin lokal (local), mərkəzləşmiş (central) və paylanmış (distributed) arxitekturaya malik modelləri mövcuddur.

Lokal arxitekturalı VCS

Lokal VCS lokal sistem daxilində faylları izləyir. Bu yanaşma çox yayğın və sadədir. Bu VCS səhvlərə meyllidir, yəni səhv fayla təsadüfən yazma şansının daha yüksək olduğu deməkdir.

Mərkəzləşmiş arxitekturalı VCS

Bu yanaşmada fayllardakı bütün dəyişikliklər mərkəzləşdirilmiş server altında izlənilir. Mərkəzləşdirilmiş serverə versiyalı faylların bütün məlumatları və həmin mərkəzdən faylları yoxlayan müştərilərin siyahısı daxildir.

Paylanmış arxitekturalı VCS

Git bu günə qədər dünyada ən çox istifadə olunan müasir versiya nəzarət sistemidir. Git 2005-ci ildə Linux əməliyyat sistemi kernelinin məşhur yaradıcısı Linus Torvalds tərəfindən hazırlanmış və fəal şəkildə dəstəklənən açıq qaynaqlı layihədir. Gitin CVS və Subversion kimi digər məşhur versiya nəzarət sistemlərindən əsas fərqi paylanmış versiya nəzarət sistemi (Distribution Version Control System — DVCS) olmasıdır. Belə ki, subversion tək mərkəzli versiya nəzarət sistemi olmaqla bütün datanı bir mərkəzdə toplayır və versiyalayır. Git isə DVCS olaraq hər bir proqramçı üçün proqramın bütün tarixi versiya dəyişikliklərini özündə ehtiva edən bir baza kopyasını verir və hər bir proqramçı fərdi şəkildə onun üzərindən iş görür.

Bəs gitin hansı xüsusiyyətləri var?

1. Qeyri-xətti inkişaf üçün güclü dəstək.

Qeyri-xətti inkişaf bizə bir sistemin müxtəlif hissələrində eyni vaxtda işləməyə imkan verir. Beləliklə, müəyyən bir qaydada bir tətbiq qurmaq məcburiyyətində deyilsiniz. Əvvəl yazdığınız kodda bir səhv xatırladığınız zaman hal-hazırda işlədiyinizi saxlaya, əvvəlki işinizə asanlıqla qayıdıb səhvi düzəldə bilərsiniz.

2. Paylanmış axitektura.

Paylanmış axitektura çox insanın eyni layihə üzərində eyni vaxtda işləməsinə imkan verir. Versiya nəzarəti olmadan başqaları ilə eyni sənəddə işləyə bilməzsiniz, çünki dəyişikliklərdən başqasının xəbəri olmadığı üçün eyni kodun üzərinə yazacaqdır.

3. Təhlükəsizlik tədbirləri.

Git-də yaddaşda qeyd olunan hər şeyə sonradan baxıla bilər. Hətta silsən də. Tarixi dəyişikliklərin həmişə bir qeydi qalır. Beləliklə, təsadüfən və ya bilərəkdən kodunuzu silmək çətindir.

Git arxitekturasından istifadə edən bir neçə serverlər mövcuddur. Bunlardan ən məşhurları GitHub, GitLab, Bitbucket-dir. Git texnologiyalarından istifadə edə bilmək üçün ik növbədə giti öz kompüterimizə qurmalıyıq. Bundan sonra hər hansı bir git serverində yazdığımız layihələri saxlaya biləcəyimiz özümüzə aid bir hesab açmalıyıq (bizim nümunəmizdə bu GitHub hesabıdır). Kompüterimizə qurduğumuz gitin “GitBash” proqram pəncərəsini açmaqla öz GitHub hesabımızı lokalımızdakı git bazası ilə əlaqələndiririk. Bunun üçün siz GitHub`da qeydiyyatdan keçdiyiniz emaildan istifadə etməklə GitBash pəncərəsində aşağıdakı əmrləri daxil etməlisiniz.

git config --global user.name "Ad Soyad"
git config --global user.email sizinemail@example.com

Ardından siz doğrulamaq şərti ilə iki dəfə istifadəçi şifrənizi daxil edəcəksiniz (şifrə daxil edilərkən ekranda görünməyəcək). Bu mərhələdən sonra artıq siz GitHub serverindəki hesabınızı öz kompüterinizdəki git bazasına bağlamış olursunuz.

Gitlə bağlı daha nələ edə bilərik bunu növbəti məqaləmizdə əla almağa çalışacağıq.

--

--