Git

Git versiya nəzarət sistemi nədir?

Versiya nəzarət sistemi (Version Control System, VCS) proqram, mətn faylları, böyükhəcmli fayllar, veb saytlarda edilmiş dəyişiklikləri izləməyə kömək edən proqram təminatıdır.

VCS-də dəyişiklik və ya dəyişikliklər qrupu versiya adlanır. Hər bir versiya nəyin dəyişdiyini, dəyişikliyi kimin etdiyini, edilmiş dəyişikliyin vaxtını və bəzən dəyişikliklə bağlı şərhlərdən ibarət informasiyanı özündə saxlayır.

Müasir versiya nəzarət sistemlərinin əsas xüsusiyyətlərindən biri bir neçə istifadəçinin bir fayl üzərində paralel işinin dəstəklənməsidir. Buna görə İT komandaları arasında VCS çox populyardır.

Git və versiya nəzarəti

Bir qədər öncə qeyd etdim ki, VCS layihənin versiyalarına nəzarət etməyə imkan verir. Bunun niyə bu qədər vacib olduğunu başa düşmək üçün aşağıdakı nümunəyə baxaq.

Məsələn, siz proqramçısınız və sayt hazırlamaq tapşırığı almısınız. Siz bu tapşırığı yerinə yetirirsiniz. Saytda, həmçinin qeydiyyat sistemi reallaşdırmısınız. Müəyyən vaxtdan sonra sifarişçi sizinlə əlaqə yaradaraq qeydiyyat sisteminə müəyyən dəyişiklik etməyi xahiş edir. Siz lazımi dəyişikliyi edirsiniz və sonra bu barədə unudursunuz. Ancaq bir müddətdən sonra sifarişçi yazır ki, təəssüf edirəm, əvvəlki qeydiyyat sistemini geri qaytarmaq lazımdır. Lakin əvvəlki qeydiyyat sisteminin kodunu yadda saxlamamısınız. Kodu yenidən yazmaq lazım gələcək!

Əgər Git-dən istifadə etsəydiniz, bu problem yaranmazdı. Git dəyişiklikləri izləyər və proqramın müxtəlif mərhələlərində yazılmış kodun müxtəlif versiyalarını yadda saxlayardı.

Git və komanda işi

Böyük layihələr üzərində eyni anda bir neçə nəfər işləyir. Git olmadan onlar üçün çox çətin olardı! Təsəvvür edin ki, iki nəfər maraqlı səyahət marşrutları tərtib edən proqram hazırlayırlar. Onlar hər dəfə koda dəyişiklik etdikdə bir-birlərinə yenilənmiş kod arxivini göndərməli olurlar. Digər proqramçı arxivi yükləyir, öz dəyişikliklərini əlavə edir və geri göndərir. 

Lakin bəzən proqramçılar digərini gözləmədən koda dəyişiklik edirlər və yenilənmiş kod arxivini eyni vaxtda bir-birlərinə göndərirlər. Nəticədə kodu birləşdirmək mümkün olmur. Çoxlu dəyişikliklər var və proqramçılar nəyi və hansı faylda dəyişdiklərini xatırlamırlar. Bu halda onlar kodu iki sütunda açaraq onu bir-bir yoxlamalıdırlar. Bu, çox vaxt və zəhmət tələb edir. Lakin versiya nəzarət sistemindən istifadə etsəydilər, Git bu problemi rahat həll edərdi.

Git məhz müxtəlif proqramçıların işini yadda saxlamaq və birləşdirmək qabiliyyətinə görə komanda işində əvəzolunmaz alətə çevrilib.

Versiya nəzarət sisteminin tipləri

Versiyaya nəzarət sistemi lokal, mərkəzləşdirilmişpaylanmış ola bilər.

Lokal - bütün fayllar yalnız sizin əməliyyat sisteminizdə, məsələn, versiyaların adlarından ibarət qovluqlar şəklində saxlanılır. Bu yanaşma öz sadəliyinə görə geniş yayılıb. Lakin tez-tez hansı qovluğun içində olduğunuzu unutmaq, istəmədiyiniz fayla dəyişiklik etmək və ya istəmədiyiniz faylları köçürmək kimi səhvlərə rast gəlinir.

lokal versiyaya nəzarət sistemi

Mərkəzləşdirilmiş - layihə serverdə saxlanılır və bu, proqramçıların birgə işləməsinə imkan verir. Mənfi cəhətlərindən biri odur ki, əgər mərkəzləşdirilmiş server 1 saatlığına çökərsə, həmin müddətdə heç kimin versiyaya nəzarət sisteminə çıxış imkanı olmayacaq.

mərkəzləşdirilmiş versiyaya nəzarət sistemi

Paylanmış - layihənin surəti və versiyalar haqda informasiya yalnız serverdə deyil, həmçinin istifadəçilərin kompüterlərində saxlanılır. Bu halda əgər proqramçılar tərəfindən istifadə olunan serverlərdən biri çökərsə, işə davam etmək üçün istifadəçinin repozitorisi digər serverə köçürülə bilər.

paylanmış versiyaya nəzarət sistemi

Git yeganə versiyaya nəzarət sistemi deyil, ancaq hazırda ən rahat və populyar hesab edilir. Git paylanmış struktura malik olduğuna görə onun repozitoriyaları istifadəçilərin kompüterində saxlanılır ki, bu da məlumat itkisinin qarşısını alır və layihənin versiyalarını oflayn şəkildə idarə etməyə imkan verir.

0

Şərh yazmaq üçün hesabınıza daxil olun.