Repozitoriya

Repozitoriya () — proqram təminatının mənbə kodunu, sənədlərini, resurslarını və tarixçəsini saxlamaq üçün istifadə olunan bir yerdir.itmWEB: Coping with Computer Viruses   Repo (qısa adı ilə) həm komanda şəklində işləmək üçün kodu ortaq saxlama məkanı kimi, həm də kodun müxtəlif versiyalarını izləmək üçün istifadə olunur. Kod repo-ları (məsələn, GitHub, GitLab, Bitbucket və s.) proqram inkişafı prosesində çox vacib bir rola malikdir.

 Əsas xüsusiyyətləri 
Versiya nəzarəti ()
Repo-larda proqram təminatının müxtəlif versiyalarını izləmək mümkündür. Bu, hər bir dəyişikliyin kim tərəfindən və nə vaxt edildiyini bilmək üçün vacibdir.
Kodun əvvəlki versiyalarına qayıtmaq, dəyişiklikləri müqayisə etmək və tarixçəyə baxmaq imkanı verir.
Şaxələndirmə () 
Repozitoriyada şaxələndirmə () xüsusiyyəti ilə layihənin müxtəlif xüsusiyyətləri və ya yeniləmələri üzərində paralel işləmək mümkündür.
Şaxələr () layihənin fərqli versiyalarıdır və əsas () şaxəyə birləşdirilə bilər.
Birlikdə İşləmə ()
Repozitoriyalar komanda ilə işləmək üçün ideal məkan yaradır. İnkişafçılar dəyişiklikləri push və pull edərək eyni layihə üzərində işləyə bilirlər.
Kodu nəzərdən keçirmək, şərhlər əlavə etmək və dəyişikliklər etmək üçün müxtəlif icazələr və alətlər mövcuddur.
İcazə nəzarəti ()
Repozitoriyalarda istifadəçilərin müxtəlif səviyyələrdə icazələri olur. Bu, kodun təhlükəsizliyini və yalnız lazım olan şəxslərin müəyyən dəyişiklikləri etməsini təmin edir.
İşlərin nəzərdən keçirilməsi ()
Komanda üzvləri bir-birlərinin kodunu nəzərdən keçirə bilər, təkliflər verə və düzəlişlər edə bilərlər.
Kod nəzərdən keçirmə alətləri () bu prosesin bir hissəsidir.
Açar sözlər və şərhlər
Repozitoriyalarda kod haqqında məlumatlar, qeydlər, sənədlər və şərhlər saxlana bilər. Bu, gələcəkdə layihəni anlamaq və ya dəyişiklikləri asanlıqla izləmək üçün faydalıdır.

 Növləri 
Yerli repozitoriya ()
Proqram təminatı faylları lokal kompüterdə saxlanılır.
İstifadəçilər Git kimi versiya nəzarət alətlərindən istifadə edərək dəyişiklikləri lokal olaraq izləyə bilərlər.
Uzaq repozitoriya ()
Proqram təminatının kodu internet üzərində serverdə saxlanılır və müxtəlif inkişafçılar uzaqdan bu repo ilə işləyə bilirlər.
Məsələn, GitHub, GitLab və Bitbucket kimi platformalar uzaq repo xidmətləri təklif edir.
Mərkəzləşdirilmiş və paylanmış repozitoriyalar
Mərkəzləşdirilmiş repo — kod yalnız bir mərkəzi serverdə saxlanılır (məsələn, SVN).
Paylanmış repo — hər bir istifadəçinin lokal kompüterində tam repo nüsxəsi olur və hər kəs öz dəyişikliklərini müstəqil şəkildə edə bilir (məsələn, Git).

 Repozitoriya ilə iş prosesi 
 Fork və ya Klonlama — uzaq repo-nu lokal kompüterə gətirmək üçün "clone" əmri ilə repo-nun nüsxəsini çıxarmaq.
 Şaxələndirmə () — yeni xüsusiyyət əlavə etmək və ya problemləri həll etmək üçün yeni bir branch yaratmaq.
 Dəyişiklik etmək və qeyd etmək () — kodu yeniləyərək dəyişiklikləri "commit" ilə repo-ya əlavə etmək.
 Dəyişiklikləri push etmək — lokal repo-dakı dəyişiklikləri uzaq repo-ya yükləmək.
 Pull Request və ya Merge Request göndərmək —  layihənin əsas koduna dəyişikliklərin birləşdirilməsi üçün kod nəzərdən keçirmə təklifi göndərmək.
 Birləşdirmək () — dəyişikliklərin əsas branch-ə birləşdirilməsi.

 Məşhur repozitoriya platformaları 
GitHub — ən populyar kod hostinq platformalarından biridir və geniş bir açıq mənbə icması ilə dəstəklənir.
GitLab — layihə idarəetmə və CI/CD xüsusiyyətləri ilə təmin edilmiş güclü bir kod hostinq platformasıdır.
Bitbucket — xüsusilə kiçik bizneslər və komandalar üçün kod hostinqi və layihə idarəetmə xüsusiyyətləri təklif edir.

Repozitoriyalar proqram təminatının hazırlanması və idarə edilməsində çox vacib bir vasitədir. Komanda şəklində məhsuldar işləmək, kodu izləmək və dəyişikliklərin tarixçəsini saxlamaq üçün mütləq istifadə olunmalıdır.

 Metadata 
Metadata ikili artefaktı təsvir edir, artefaktın özündən ayrıca saxlanılır və istinad edilir və bir neçə əlavə istifadəyə malik ola bilər. Aşağıdakı cədvəl bəzi ümumi metadata növlərini və onların istifadəsini göstərir:

 Metadata növü İstifadə olunma səbəbi Mövcud versiyalar  Avtomatik təkmilləşdirmə və endirmə Asılılıqlar  Cari artefaktın asılı olduğu digər artefaktları göstərin Aşağı axın asılılıqları  Cari artefaktdan asılı olan digər artefaktları göstərin Lisenziya  Hüquqi Uyğunluq Quraşdırma tarixi və vaxtı  İzləmə qabiliyyəti Sənədləşdirmə  IDE-də kontekst sənədləri üçün oflayn əlçatanlığın təmin edilməsi Təsdiq Məlumatı  İzləmə qabiliyyəti Metriklər  Kodun əhatə dairəsi, qaydalara uyğunluq, test nəticələri İstifadəçi tərəfindən yaradılan metadata  Fərdi hesabatlar və proseslər

 İstinadlar 

Kateqoriya:İnformatika
Kateqoriya:Proqram təminatının yayılması